【问题标题】:Cannot get the average date using pandas无法使用 pandas 获取平均日期
【发布时间】:2015-08-10 21:11:10
【问题描述】:

我有一个时间序列数据集,我想从中获取平均日期。这是一个人为的例子,显示了 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')

有没有办法解决这个问题?任何意见表示赞赏。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    这是一个已知问题,请参阅here。这是一个简单的修复程序并在列表中。作为一种变通方法,转换为毫秒、平均值和返回。

    In [14]: pd.to_timedelta((s-s.min()).astype('m8[ms]').mean(),unit='ms')
    Out[14]: Timedelta('249 days 12:00:00')
    

    【讨论】:

    猜你喜欢
    • 2018-02-20
    • 1970-01-01
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多