Python Pandas移动窗口函数rolling的用法
什么是rolling函数?
rolling函数是Python Pandas的函数之一,用于执行基于滚动窗口的计算操作。它能够在一个类似于移动的小窗口内执行操作,并且自动相对于数据的那个坐标移动。
移动窗口函数可以让我们计算汇总和转换数据的统计量,比如:
- 移动平均值
- 移动标准差
- 移动总和
语法
rolling方法如下语法:
rolling(window=window_size).function()
window_size
:移动窗口的大小,可以是时间单位或者数据数量。function()
:所需要操作的函数,比如 mean()(平均值)、sum()(总和)、std()(标准差) 等操作。
示例
下面是一个使用 rolling() 的简单示例:
- 导入Python Pandas库
import pandas as pd
import numpy as np
- 创建数据帧 DataFrame
df = pd.DataFrame({
'A':[1,2,3,4,5],
'B':[5,4,3,2,1],
})
- 进行 rolling() 计算操作
df.rolling(window=2).sum()
上述操作输出结果为:
A B
0 NaN NaN
1 3.0 9.0
2 5.0 7.0
3 7.0 5.0
4 9.0 3.0
在该示例中,我们创建了一个简单的 DataFrame,并运行了 rolling() 方法来计算每行数据的和。
现在我们来看另一个示例。
- 导入Python Pandas库
import pandas as pd
import numpy as np
- 使用numpy生成一组随机数据
np.random.seed(100)
data = pd.Series(np.random.randn(200), index=pd.date_range('1/1/2000', periods=200))
- 使用rolling函数计算200天的移动平均线
rolling_mean = data.rolling(window=20).mean()
上述操作输出结果为:
2000-01-01 NaN
2000-01-02 NaN
2000-01-03 NaN
2000-01-04 NaN
2000-01-05 NaN
...
2000-07-15 -0.129525
2000-07-16 -0.082945
2000-07-17 -0.042122
2000-07-18 0.047246
2000-07-19 0.013146
Freq: D, Length: 200, dtype: float64
在这个示例中,我们使用rolling()方法计算了200天的移动平均线,并将结果存储在了一个新的序列中。
通过上面两个示例的演示,我们可以通过rolling()函数很方便地实现数据的转换和统计。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python pandas移动窗口函数rolling的用法 - Python技术站