Самый быстрый способ разобрать столбец в datetime в пандах - PullRequest
0 голосов
/ 24 мая 2018

У меня есть следующий фрейм данных с более чем 400 000 строк.

df = pd.DataFrame({'date' : ['03/02/2015 23:00',
'03/02/2015 23:30',
'04/02/2015 00:00',
'04/02/2015 00:30',
'04/02/2015 01:00',
'04/02/2015 01:30',
'04/02/2015 02:00',
'04/02/2015 02:30',
'04/02/2015 03:00',
'04/02/2015 03:30',
'04/02/2015 04:00',
'04/02/2015 04:30',
'04/02/2015 05:00',
'04/02/2015 05:30',
'04/02/2015 06:00',
'04/02/2015 06:30',
'04/02/2015 07:00']})

Я пытаюсь проанализировать столбец даты csv-файла в пандах как можно быстрее.Я знаю, как это сделать с помощью read_csv, но это занимает много времени!Кроме того, я попробовал следующее, которое работает, но также очень медленно: df['dateTimeFormat'] = pd.to_datetime(df['date'],dayfirst=True)

Как я могу эффективно и действительно быстро проанализировать столбец даты в datetime?

Спасибоочень за вашу помощь,

Пьер

1 Ответ

0 голосов
/ 24 мая 2018

Вы можете определить формат datetime s с помощью http://strftime.org/:

df = pd.concat([df] * 1000, ignore_index=True)


%timeit df['dateTimeFormat1'] = pd.to_datetime(df['date'],dayfirst=True)
2.94 s ± 285 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit df['dateTimeFormat2'] = pd.to_datetime(df['date'],format='%d/%m/%Y %H:%M') 
55 ms ± 1.47 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...