Как сравнить timedelta между 2 столбцами файла CSV? - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть 2 строки данных, которые выглядят следующим образом (строки 8 и 9) ....

 2018-01-03T10:14:32.000Z
 2018-01-03T09:40:35.000Z
 2018-01-03T10:17:13.000Z
 2018-01-03T10:00:39.000Z
 2018-01-03T10:16:53.000Z
 2018-01-03T09:54:24.000Z
 2018-01-03T10:18:37.000Z
 2018-01-03T10:19:54.000Z
 2018-01-03T09:52:40.000Z
 2018-01-03T10:14:49.000Z
 2018-01-03T10:16:35.000Z

Код:

df = pd.read_csv('Plaku_City_Service_Requests_in_2018.csv', 
                 usecols = [8,9],
                 names = ['add', 'fix'])

df['delta'] = df['add'] - df['fix']

Я получаю ошибки

В этом CSV-файле содержится 330 000 записей .. как найти временные интервалы между этими двумя столбцами?

У меня есть эти два столбца, которые хранятся в переменных add и fix .. не могу понять, как сравнивать,

Любая помощь будет великолепна, спасибо!

1 Ответ

0 голосов
/ 26 февраля 2019

Представляется целесообразным считывать оба столбца из CSV в один DataFrame, а не в два отдельных:

df = pd.read_csv('2018.csv', usecols=[8, 9], names=['add', 'fix'])

Если Pandas правильно делает вывод, что тип ваших данных - дата-время, то поиск дельтпросто:

df['delta'] = df['add'] - df['fix']

Если, однако, они выводятся как строки, вам необходимо явно преобразовать объекты даты и времени перед вычитанием:

df['delta'] = pd.to_datetime(df['add']) - pd.to_datetime(df['time'])
...