下面是一个示例代码,演示如何按组重新采样数据并计算滚动总和:
import pandas as pd
# 创建示例数据
data = {
'group': ['A', 'A', 'A', 'B', 'B', 'B'],
'value': [1, 2, 3, 4, 5, 6]
}
df = pd.DataFrame(data)
# 按组重新采样数据并计算滚动总和
df['sum'] = df.groupby('group')['value'].rolling(window=2).sum().reset_index(0, drop=True)
print(df)
输出:
group value sum
0 A 1 NaN
1 A 2 3.0
2 A 3 5.0
3 B 4 NaN
4 B 5 9.0
5 B 6 11.0
在上面的代码中,我们首先创建了一个包含"group"和"value"列的示例数据帧。然后,使用groupby
函数按"group"列对数据进行分组。接下来,我们使用rolling
函数对每个组的"value"列进行滚动计算,窗口大小为2,即每个组的相邻两个值的总和。最后,我们使用reset_index
函数将组的索引重置,并使用drop=True
删除多余的索引列。最后,我们将计算的滚动总和存储在新的"sum"列中。