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

Pes*_*r53 1 datetime parsing pandas

我有超过40万行的以下数据框。

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']})
Run Code Online (Sandbox Code Playgroud)

我正在尝试尽快解析csv文件在pandas中的日期列。我知道如何使用read_csv做到这一点,但这需要很多时间!另外,我尝试了以下方法,但效果非常慢:df['dateTimeFormat'] = pd.to_datetime(df['date'],dayfirst=True)

我怎样才能高效,快速地将date列解析为datetime?

非常感谢您的帮助,

皮埃尔

jez*_*ael 6

您可以datetime通过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)
Run Code Online (Sandbox Code Playgroud)