无法使用 pandas 获取平均日期 [英] Cannot get the average date using pandas

查看:70
本文介绍了无法使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆