【发布时间】:2021-07-08 08:44:24
【问题描述】:
我有以下数据框:
df = pd.DataFrame({'Team':['A','A','A','A','B','B','B','B'],
'Date':list(pd.date_range(start='1/1/2021', periods=8)),
'Score':[7,3,3,6,7,3,7,5],
}).set_index(['Team', 'Date'])
我想添加一个滚动平均列,该列在 0 级索引为新值时重置。以下简单代码不起作用,因为滚动平均值在索引值之间结转:
df['Avg'] = df['Score'].rolling(window=2).mean()
Score Avg
Team Date
A 2021-01-01 7 NaN
2021-01-02 3 5.0
2021-01-03 3 3.0
2021-01-04 6 4.5
B 2021-01-05 7 6.5
2021-01-06 3 5.0
2021-01-07 7 5.0
2021-01-08 5 6.0
我怎样才能得到下面的Dataframe?:
Score Avg
Team Date
A 2021-01-01 7 NaN
2021-01-02 3 5.0
2021-01-03 3 3.0
2021-01-04 6 4.5
B 2021-01-05 7 NaN
2021-01-06 3 5.0
2021-01-07 7 5.0
2021-01-08 5 6.0
谢谢
【问题讨论】: