簡體   English   中英

如何在Python中為數據框的列的所有值計算滾動平均值

[英]how to calculate rolling mean for all values of a column of a dataframe in python

我有一個包含A,B和C列的數據框。C的值分別為1、2、3、4。我想創建另一個具有以下值的列D:NaN,1.5(=(1 + 2)/ 2),2 (=(1 + 2 + 3)/ 3,2.5(=(1 + 2 + 3 + 4)/ 4)。基本上是從第一個元素到第i個元素的滾動平均值,必須為其計算滾動平均值。

我正在使用python並嘗試rolling.mean()但Windows參數-無法使用。

您可以使用累積總和來計算它,以計算先前元素的總和 ,然后根據總和中使用的元素數來指定這些總和。 這是示例:

df = pd.DataFrame(data={'C': [1, 2, 3, 4]})
df['D'] = df['C'].cumsum() / range(1, df.shape[0] + 1)

熊貓有一個內置的“擴展”方法,可以完全滿足您的需求。

df = pd.DataFrame({'C': [1, 2, 3, 4]})
df['D']=df['C'].expanding(2).sum()/df['C'].expanding(2).count()
print(df)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM