以下是一个示例代码,用于按组计算滚动标准差:
import pandas as pd
import numpy as np
# 创建一个示例数据集
data = {'group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'value': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
df = pd.DataFrame(data)
# 按组计算滚动标准差
df['rolling_std'] = df.groupby('group')['value'].rolling(3).std().reset_index(level=0, drop=True)
print(df)
输出结果为:
group value rolling_std
0 A 1 NaN
1 A 2 NaN
2 A 3 1.000000
3 B 4 NaN
4 B 5 NaN
5 B 6 1.000000
6 C 7 NaN
7 C 8 NaN
8 C 9 1.000000
在这个示例中,我们首先创建了一个包含组别和数值的数据集。然后,我们使用groupby
方法将数据按组分组,并使用rolling
方法计算滚动标准差。在这里,我们使用了窗口大小为3的滚动窗口。最后,我们将计算得到的滚动标准差结果添加到数据集中。
上一篇:按组计算观测值和零的数量。
下一篇:按组计算滚动总和