python-3.x - 计算python日期时间的平均值

标签 python-3.x pandas datetime mean python-datetime

我有一个日期时间属性:

d = {
    'DOB': pd.Series([
        datetime.datetime(2014, 7, 9),
        datetime.datetime(2014, 7, 15),
        np.datetime64('NaT')
    ], index=['a', 'b', 'c'])
}
df_test = pd.DataFrame(d)

我想计算该属性的平均值。运行 mean() 会导致错误:

TypeError: reduction operation 'mean' not allowed for this dtype



我也尝试了提出的解决方案elsewhere .它不起作用,因为运行那里建议的函数导致

OverflowError: Python int too large to convert to C long



你会提出什么建议?上述数据帧的结果应等价于
datetime.datetime(2014, 7, 12).

最佳答案

您可以取 Timedelta 的平均值。所以找到最小值并从系列中减去它以获得一系列 Timedelta 。然后取平均值并将其加回最小值。

dob = df_test.DOB
m = dob.min()
(m + (dob - m).mean()).to_pydatetime()

datetime.datetime(2014, 7, 12, 0, 0)

一条线
df_test.DOB.pipe(lambda d: (lambda m: m + (d - m).mean())(d.min())).to_pydatetime()

@ALollz point

我使用纪元 pd.Timestamp(0) 而不是 min
df_test.DOB.pipe(lambda d: (lambda m: m + (d - m).mean())(pd.Timestamp(0))).to_pydatetime()

关于python-3.x - 计算python日期时间的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50358564/

相关文章:

python - 将边界框外的 numpy 二维数组中的所有内容都设为零

python - 将 Pandas 数据框中具有不同日期的较早行的值连接起来

sql - sql中dateTime字段和dateTime.Now之间的区别

python - matplotlib:如何使用标记大小/颜色作为绘图中的额外维度?

user-interface - python 3.2 的哪个 gui 框架

python - 导入后找不到模块

Python:内存高效,在 python 中快速查找 1 亿对数据?

python - 对 Pandas 数据集执行 SQL 查询

angularjs - angular-pickadate 时区 - selectedDate 是其他时区的模态日期前一天

python-3.x - 如何使用python3中的搜索从主字符串的空格前后获取子字符串?