无法使用 pandas 获取平均日期 [英] Cannot get the average date using pandas
本文介绍了无法使用 pandas 获取平均日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个时间序列数据集,我希望从中获得一个平均日期.这是一个人为的示例,显示了熊猫datetime64对象的溢出错误:
I have a time series data set from which I want to get an average date. Here is a contrived example that shows an overflow error of pandas datetime64 object:
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')
有什么办法可以解决这个问题?任何输入表示赞赏.
Is there any way around this problem? Any input is appreciated.
推荐答案
这是一个已知问题,请参见这里.这是一个简单的修复方法,并且在列表中.作为解决方法,将其转换为毫秒数,均值并返回.
This is a known issue, see here. It is a straightforward fix and on the list. As a work-around, cast to milliseconds, mean, and back.
In [14]: pd.to_timedelta((s-s.min()).astype('m8[ms]').mean(),unit='ms')
Out[14]: Timedelta('249 days 12:00:00')
这篇关于无法使用 pandas 获取平均日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文