我正在try 计算每个组内的滚动和或任何其他统计数据(例如平均值).下面我给出了一个例子,其中窗口是2,统计量是总和.
df = pd.DataFrame.from_dict({'class': ['a', 'b', 'b', 'c', 'c', 'c', 'b', 'a', 'b'],
'val': [1, 2, 3, 4, 5, 6, 7, 8, 9]})
df['sum2_per_class'] = [1, 2, 5, 4, 9, 11, 10, 9, 16] # I want to compute this column
# df['sum2_per_class'] = df[['class', 'val']].groupby('class').rolling(2).sum() # what I tried
class val sum2_per_class
0 a 1 1
1 b 2 2
2 b 3 5
3 c 4 4
4 c 5 9
5 c 6 11
6 b 7 10
7 a 8 9
8 b 9 16
以下是我try 过的内容和相应的错误:
df['sum2_per_class'] = df[['class', 'val']].groupby('class').rolling(2).sum()
TypeError: incompatible index of inserted column with frame index