跳至主要內容

窗口计算

blacklad大约 1 分钟PythonPythonPandas

窗口计算

窗口函数用于执行一系列统计计算,如移动平均、累积求和等。这些计算通常基于数据的一个固定大小的窗口,并且可以沿着数据集滑动应用。

1 滚动窗口

滚动窗口允许您定义一个窗口大小,并对这个窗口内的数据执行计算。例如,计算过去7天的日平均温度。

与group by 相似,但是并不相同。滚动窗口对于同一个数据会在不同的窗口中被计算。

image-20240831191851232

1.1 窗口函数

rolling(window)是滚动函数,window 参数指定窗口的大小。

import pandas as pd
df = pd.DataFrame(range(0,10))
print(df)
   0
0  0
1  1
2  2
3  3
4  4
5  5
6  6
7  7
8  8
9  9

每两天计算平均值

df_rolling_mean = df.rolling(2).mean()
print(df_rolling_mean)

     0
0  NaN
1  0.5
2  1.5
3  2.5
4  3.5
5  4.5
6  5.5
7  6.5
8  7.5
9  8.5

可以看到是对数据中的元素两两求平均值。由于第一个数字没有前一个数字所以结果为NaN

对于窗口中的数据,常用的统计方法都可以使用

2 扩展窗口

扩展窗口是指随着时间的推移,窗口不断扩大的计算。计算从数据开始到当前点的所有数据的累计平均值。

image-20240831193335260

2.1 扩展窗口函数

使用expanding函数可以实现扩展窗口。

计算扩展窗口中元素的和

df_expanding_sum = df.expanding().mean()
print(df_expanding_sum)
      0
0   0.0
1   1.0
2   3.0
3   6.0
4  10.0
5  15.0
6  21.0
7  28.0
8  36.0
9  45.0
上次编辑于:
贡献者: blacklad