在pandas中将列解析为日期时间的最快方法

时间:2018-05-24 10:50:51

标签: pandas parsing datetime

我有以下数据框,超过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']})

我试图尽快解析pandas中csv文件的日期列。我知道如何使用read_csv来完成它,但这需要花费很多时间!此外,我尝试了以下哪个有效,但也很慢:df['dateTimeFormat'] = pd.to_datetime(df['date'],dayfirst=True)

我如何能够以非常快的速度将日期列解析为日期时间?

非常感谢你的帮助,

皮尔

1 个答案:

答案 0 :(得分:3)

您可以按http://strftime.org/

定义datetime s的格式
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)