DataFrame的反向滚动平均值

马克E

我正在尝试使用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?

耶斯列尔

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章