【发布时间】:2014-06-09 01:53:16
【问题描述】:
我的数据框中有 2 个不同的日期列,我想将它们转换为 datetime64。
一个有格式
0 2009-03-09
并且转换速度相当快:
%timeit pd.to_datetime(df.acquisition_date)
10000 loops, best of 3: 97.9 µs per loop
另一个是这样的格式:
0 2013-01-07 01:02:38 UTC
它的转换大约需要。延长 18 倍:
%timeit pd.to_datetime(df.created_at)
1000 loops, best of 3: 1.74 ms per loop
我能做些什么来加快这个速度?
编辑:
一些建议的结果(df.created_at 是slow 格式):
%timeit pd.to_datetime(df.acquisition_date)
%timeit pd.to_datetime(df.created_at)
%timeit pd.to_datetime(df.created_at, infer_datetime_format=True)
%timeit pd.to_datetime(df.created_at, format='%Y-%m-%d %H:%M:%S %Z')
10000 loops, best of 3: 98.5 µs per loop
1000 loops, best of 3: 1.73 ms per loop
1000 loops, best of 3: 955 µs per loop
1000 loops, best of 3: 222 µs per loop
【问题讨论】:
-
尝试传递 infer_datetime_format=True