python pandas移动窗口函数rolling的用法

  • Post category:Python

Python Pandas是一个非常流行的数据分析和处理工具。rolling是Pandas移动窗口函数之一,它可以在特定时间范围内对数据进行计算和分析。下面是rolling函数的用法攻略。

rolling函数的语法

rolling(window, min_periods=None, center=False)

参数说明:
– window:滑动窗口的大小。
– min_periods:窗口最小值,为了确保每个移动窗口的最小观测数量,需要设置。
– center:是否将窗口放在中心,默认是False,表示放在左侧。

rolling函数的示例:

示例1:计算滑动平均

首先,我们先用下面的语句生成一个包含随机数的DataFrame:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 4), columns=['A','B','C','D'])
print(df)

运行结果如下:

          A         B         C         D
0  0.089012  0.124665 -1.611216  1.184200
1  0.095304 -0.809638 -0.037016  0.337062
2  0.273916 -0.743344 -0.003838 -0.339016
3 -1.008188 -0.385221  0.667659  0.452619
4 -0.551864 -1.254166 -0.239304  1.055637
5 -0.657497 -0.544968  0.256082 -0.942614
6  0.328763  0.138721 -0.419369 -0.029761
7 -0.977606  0.231696 -1.124174  1.510487
8 -1.317638 -0.731272 -1.449814  0.696532
9 -0.717161  0.030791 -0.435563  1.419292

现在,我们需要计算每一列的滑动平均。我们可以使用rolling函数来实现这个目标。

rolling_mean = df.rolling(window=2).mean()
print(rolling_mean)

这里我们使用了window=2来设置每个滑动窗口的大小,rolling_mean是计算所得的每一列的滑动平均。 运行结果如下:

          A         B         C         D
0       NaN       NaN       NaN       NaN
1  0.092158 -0.342487 -0.824116  0.760631
2  0.184610 -0.776491 -0.020427 -0.000477
3 -0.367636 -0.564283  0.331410  0.056301
4 -0.780026 -0.819694  0.214677  0.754128
5 -0.604680 -0.899067  0.008389  0.056511
6 -0.164367 -0.203124 -0.081644  0.512511
7 -0.324422  0.185209 -0.771772  0.740863
8 -1.147122 -0.249288 -1.287994  1.103010
9 -1.017399 -0.350740 -0.942188  1.057912

可以看到,rolling函数计算出了每一列的滑动平均值。

示例2:计算滑动标准差

我们也可以使用rolling函数来计算每一列的滑动标准差。代码如下:

rolling_std = df.rolling(window=2).std()
print(rolling_std)

这里我们使用window=2来设置每个滑动窗口的大小,rolling_std是计算所得的每一列的滑动标准差。 运行结果如下:

          A         B         C         D
0       NaN       NaN       NaN       NaN
1  0.003542  0.747151  1.230600  0.602787
2  0.136092  0.037461  0.016513  0.476697
3  0.911167  0.248174  0.465957  0.548331
4  0.342575  0.614044  0.554604  0.397729
5  0.059104  0.474306  0.389693  1.491973
6  0.493697  0.535261  0.612369  0.702250
7  0.604626  0.072304  0.456178  1.284479
8  0.232744  0.781327  0.236779  0.526290
9  0.428091  0.507008  0.724750  0.548970

可以看到,rolling函数计算出了每一列的滑动标准差。

结论

rolling函数是Python Pandas中一个非常有用的移动窗口函数,它可以在特定时间范围内对数据进行计算和分析。在本文中,我们讲解了rolling函数的语法和两个示例,分别是计算滑动平均和滑动标准差。