簡體   English   中英

pandas 前后兩行滾動總和

[英]pandas rolling sum of two rows before and after

我想知道如何獲得之前兩行的滾動總和,本身,以及之后的兩行。

我的嘗試

import numpy as np
import pandas as pd

df = pd.DataFrame({'A': range(1,7)},index=range(1,7))

df['new'] = 0
for i in range(-2,2+1):
    df['new'] += df.A.shift(i)

df

Output

   A  new
1  1     NaN
2  2     NaN
3  3    15.0
4  4    20.0
5  5     NaN
6  6     NaN

問題

我的上述工作並給出了正確的答案,但要計算平均值,我必須除以 5,而且它的概括性不大。 是否有任何內置方法或更好的替代方法?

我們有rolling

df.A.rolling(5,center=True).mean()
Out[257]: 
1    NaN
2    NaN
3    3.0
4    4.0
5    NaN
6    NaN
Name: A, dtype: float64

暫無
暫無

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

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