簡體   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