计算时间序列中的均值和标准差
Calculate mean and standard deviation in a time-series
我有以下数据框:
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 是 activity 的时间戳,但整个时间序列有 8 个月。我想计算整个 8 个月的均值和标准差。谁能帮帮我?
您正在寻找的是 groupby 上的应用函数。确保将 DATE
列转换为 datetime
对象。
df.groupby("COD").apply(lambda x: x["ACT"].mean())
为了更清楚起见,这里有一张截图。我还认为这可能有助于获得每个 COD
的月明智总和和均值分析。
我有以下数据框:
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 是 activity 的时间戳,但整个时间序列有 8 个月。我想计算整个 8 个月的均值和标准差。谁能帮帮我?
您正在寻找的是 groupby 上的应用函数。确保将 DATE
列转换为 datetime
对象。
df.groupby("COD").apply(lambda x: x["ACT"].mean())
为了更清楚起见,这里有一张截图。我还认为这可能有助于获得每个 COD
的月明智总和和均值分析。