我有一个时间序列数据集,我希望从中获得平均日期。这是一个人为的例子,它显示了pandas datetime64对象的溢出错误:
import pandas as pd
import numpy as np
rng = pd.date_range('2000/1/1', periods=500, freq='D')
s = pd.Series(rng)
minT = s.min()
np.mean(s - minT)
输出结果为:
Out[9]:
Timedelta('-178 days +11:48:31.852580')
有没有解决这个问题的方法?任何意见都表示赞赏。
答案 0 :(得分:2)
这是一个已知问题,请参阅here。这是一个简单的解决方案,在列表中。作为解决方案,施放到毫秒,意味着和返回。
In [14]: pd.to_timedelta((s-s.min()).astype('m8[ms]').mean(),unit='ms')
Out[14]: Timedelta('249 days 12:00:00')