繁体   English   中英

计算时间序列的均值和标准差

[英]Calculate mean and standard deviation in a time-series

我有以下 dataframe:

    COD     ACT     DATE
0   5713    1.0     2020-07-16
1   5713    1.0     2020-08-11
2   5713    1.0     2020-06-20
3   5713    1.0     2020-06-19
4   5713    1.0     2020-06-01
5   23369   1.0     2020-07-17
6   23369   1.0     2020-08-07
7   23369   1.0     2020-09-02
8   23369   1.0     2020-11-22
9   32012   1.0     2020-06-02
10  32012   1.0     2020-07-26

我想计算整个时间序列中每个 COD 的平均值和标准差。 以前我是这样计算的:

df['MEAN'] = df.groupby("COD")["ACT"].transform("mean")
df['STD'] = df.groupby("COD")["ACT"].transform("std")

但这计算了 ACT 的初始时间戳和 ACT 的最终时间戳的时间跨度的平均值(例如 5 个月内的 3 次 ACT - 而不是 8 个月)。 ACT 是活动的时间戳,但整个时间序列有 8 个月。 我想计算整个 8 个月的平均值和标准差。 谁能帮我?

您正在寻找的是在 groupby 上申请 function。 确保将DATE列转换为datetime时间 object。

df.groupby("COD").apply(lambda x: x["ACT"].mean())

这是一个更清晰的屏幕截图。 我还认为对每个COD进行一个月的明智总和和平均值分析可能会有所帮助。 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM