熊猫前后滚动两行的总和



我想知道如何获得前面两行、本身和后面两行的滚动和。

我的尝试

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

输出

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

最新更新