这是解决此问题的更好方法
生成日期时间样本
In [28]: i = date_range('20130101',periods=20000000,freq='s')In [29]: iOut[29]: <class 'pandas.tseries.index.DatetimeIndex'>[2013-01-01 00:00:00, ..., 2013-08-20 11:33:19]Length: 20000000, Freq: S, Timezone: None
平均20m次
In [30]: %timeit pd.to_timedelta(int((i.hour*3600+i.minute*60+i.second).mean()),unit='s')1 loops, best of 3: 2.87 s per loop
结果为timedelta(请注意,这需要numpy 1.7和pandas 0.13
to_timedelta,很快就会出现)
In [31]: pd.to_timedelta(int((i.hour*3600+i.minute*60+i.second).mean()),unit='s')Out[31]: 0 11:59:12dtype: timedelta64[ns]
以秒为单位(这适用于熊猫0.12,numpy> = 1.6)。
In [32]: int((i.hour*3600+i.minute*60+i.second).mean())Out[32]: 43152