要计算Pandas数据框架中的移动平均(moving average),可以采用rolling函数。rolling函数可以创建窗口对象,该窗口对象可以对数据进行滑动窗口计算,例如计算平均值、标准差等。
具体步骤如下:
- 导入Pandas模块,并读取数据到数据框架中。
import pandas as pd
data = pd.read_csv('data.csv')
- 创建Rolling对象,并计算移动平均值
# 设置窗口大小为5
rolling = data['col_name'].rolling(window=5)
# 计算移动平均值
ma = rolling.mean()
其中,’col_name’是数据框架中要计算移动平均的列名,window参数指定滑动窗口大小。
- 将移动平均的结果添加到原始数据框架中
data['MA'] = ma
其中,’MA’是新添加的列名,ma是移动平均的结果。
举个例子,假设data.csv中的数据如下:
date,price
2021-01-01,10
2021-01-02,12
2021-01-03,14
2021-01-04,16
2021-01-05,18
2021-01-06,20
2021-01-07,22
2021-01-08,24
要计算price列的5天移动平均值,可以按以下方式进行:
import pandas as pd
data = pd.read_csv('data.csv')
rolling = data['price'].rolling(window=5)
ma = rolling.mean()
data['MA'] = ma
print(data)
输出结果如下:
date price MA
0 2021-01-01 10 NaN
1 2021-01-02 12 NaN
2 2021-01-03 14 NaN
3 2021-01-04 16 NaN
4 2021-01-05 18 14.0
5 2021-01-06 20 16.0
6 2021-01-07 22 18.0
7 2021-01-08 24 20.0
可以看到,新添加的MA列显示的是5天移动平均值。由于前面四天的数据无法计算移动平均值,因此显示为NaN。