大熊猫的窗口平均数

问题描述 投票:1回答:1

假设我们有一个这样的数据框。

Time = ['00:01', '00:02','00:03','00:04','00:05','00:06','00:07','00:08','00:09']
Value = [2.5, 3.2, 4.6, 3.6, 1.5, 2.5, 0.4, 5.7, 1.5]   
df = pd.DataFrame({'Time':Time, 'Value':Value})

为了简单起见,我们只计算行本身的平均数,行前值和行后值。所以我想找这个结果。

df
Time    Value
00:01   2.85 
00:02   3.43
00:03   3.8
00:04   3.23
00:05   2.53
00:06   1.47
00:07   2.87
00:08   2.53
00:09   3.6

任何帮助都将是非常感激的。

python pandas average calculation operation
1个回答
2
投票

你可以用 rolling.mean,设置 center=Truemin_periods=2 也要考虑边缘的问题。

df['Value'] = df.Value.rolling(3, min_periods=2, center=True).mean().round(2)

print(df)

    Time  Value
0  00:01   2.85
1  00:02   3.43
2  00:03   3.80
3  00:04   3.23
4  00:05   2.53
5  00:06   1.47
6  00:07   2.87
7  00:08   2.53
8  00:09   3.60
© www.soinside.com 2019 - 2024. All rights reserved.