我正在尝试使用DataFrame创建灯具难度网格。我想要每个团队接下来的5个固定装置的平均值。
我目前正在使用df.rolling(5,min_periods = 1).mean()。shift(-4)。这是一开始的工作,但最终却拉动了NAN。我知道为什么要返还NAN-没有向上移动的DF。理想情况下,我希望NAN在剩余值中变得均值,而38的值只是其当前值?
修复困难
ARS AVL BHA BOU
3 4 3 2
2 2 2 2
5 2 2 4
4 2 5 3
3 2 2 2
接下来5个灯具的平均值
ARS AVL BHA BOU
3.4 2.4 2.8 2.6
3.2 2.4 2.8 2.6
3.6 2.4 3.2 2.6
3 2.4 3.6 2.6
2.6 2.4 3 2.4
NAN在最后的记录中没有什么可向上移动的。
3.2 3.6 2.8 3.6
nan nan nan nan
nan nan nan nan
nan nan nan nan
nan nan nan nan
我可以采用这种方法还是需要完全不同的方法来填充NAN?
答案 0 :(得分:1)
IIUC,您需要通过索引来获得逆值,使用滚动和逆向返回:
df1 = df.iloc[::-1].rolling(5, min_periods=1).mean().iloc[::-1]
print (df1)
ARS AVL BHA BOU
0 3.4 2.4 2.80 2.60
1 3.5 2.0 2.75 2.75
2 4.0 2.0 3.00 3.00
3 3.5 2.0 3.50 2.50
4 3.0 2.0 2.00 2.00