[英]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.