Запишите измененный столбец в тот же файл - PullRequest
0 голосов
/ 02 октября 2018

Я пишу код Python для чтения файла CSV, а затем изменить выбранный столбец.Теперь я хочу написать столбец в том же положении.Мой код пока что

import pandas as pd
df = pd.read_csv('out.csv')
x = df['User Time']

def func(x):
    if (518400 < x) and (x < 604800):
        return x - 518400
    elif (432000 < x) and (x < 518400):
        return x - 432000
    elif (345600 < x) and (x < 432000):
        return x - 345600
    elif (259200 < x) and (x < 345600):
        return x - 259200
    elif (172800 < x) and (x < 259200):
        return x - 172800
    elif (86400 < x) and (x < 172800):
        return x - 86400
    else:
        return x

x = x.apply(func)

df.to_csv('out.csv')[:2]

Использование [: 2], потому что это 2-й столбец файла.

Это не работает.Помогите, пожалуйста.Спасибо.

1 Ответ

0 голосов
/ 02 октября 2018

Не используйте назначение / копии без необходимости.Здесь вы можете просто изменить ряд в вашем фрейме данных и экспортировать весь фрейм данных:

df = pd.read_csv('out.csv')

def func(x):
    # your function logic

df['User Time'] = df['User Time'].apply(func)
df.to_csv('out.csv')

Вы не можете «просто обновить один столбец» с помощью Pandas.Фреймворк имеет встроенные строки и столбцы со значением.Когда вы используете pd.read_csv, все столбцы считываются в информационный фрейм в порядке, который вы видите в файле, поэтому вам не нужно беспокоиться о потере данных.

...