繁体   English   中英

如何计算 dataframe 中的滚动平均值?

[英]How to calculate rolling average in dataframe?

我有一个 dataframe 之类的

idx,val
1,10
2,32
3,21
4,55
5,43
6,31

我必须计算每 4 个值的滚动平均值。 例如 output df 将是

idx,avg_val
1,avg of val(idx[1-4] to idx[1]) => avg(10)
2,avg of val(idx[2-4] to idx[2]) => avg(10,32)
3,avg of val(idx[3-4] to idx[3]) ...
4,avg of val(idx[4-4] to idx[4]) => avg(10,32,21,55)
5,avg of val(idx[5-4] to idx[5]) => ...
6,avg of val(idx[6-4] to idx[6]) => avg(21,55,43,31)

我现在正在做的是遍历每一行并使用通用公式计算avg(idx[i-4] to idx[i]) 我正在寻找任何 pythonic 解决方案。

使用rolling

df['avg_val'] = df['val'].rolling(window=4, min_periods=1).mean()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM