Как добавить столбец секунд в столбец раз в Python? - PullRequest
0 голосов
/ 10 июля 2019

У меня есть файл, содержащий несколько столбцов, второй столбец которых - время.Как то, что я покажу ниже.Мне нужно добавить столбец времени в секундах, например: «2.13266 2.21784 2.20719 2.02499 2.16543», к столбцу времени в первом файле (ниже).Мой вопрос, как добавить эти два раза друг к другу.И, может быть, в некоторых случаях, когда я добавляю это время, оно переходит к следующему дню, и в этом случае, как изменить дату в соответствующей строке.

2014-08-26 19:49:32 0
2014-08-28 05:43:21 0
2014-08-30 11:47:54 0
2014-08-30 03:26:10 0

Ответы [ 3 ]

0 голосов
/ 10 июля 2019

Убедитесь, что ваше поле даты и времени является фактическим временем даты (если чтение из CSV не будет).

df['DateTimeField'] = pd.to_datetime(df['DateTimeField'])

Затем преобразуйте ваш столбец секунд в столбец дельты времени и добавьте кполе даты и времени

df['NewDateTimeField'] = df['DateTimeField'] + pd.to_timedelta(df['TimeDeltaField'], unit='s')
0 голосов
/ 10 июля 2019

Хорошо. Наконец это делается с помощью этого кода: d= 2.13266 dd= pd.to_timedelta (int(d), unit='s') df= pd.Timestamp('2014-08-26 19:49:32') new = df + dd

0 голосов
/ 10 июля 2019

Вероятно, самый простой способ - это прочитать ваш файл в фрейме данных pandas и проанализировать каждую строку как объект datetime.Затем вы создаете объект datetime.timedelta, проходящий за доли секунды.

A datetime object + a timedelta обрабатывает обтекание в течение нескольких дней, поэтому это должно работать без дополнительного кода.Наконец, запишите ваш обновленный фрейм данных в файл.

...