📅  最后修改于: 2023-12-03 15:40:47.785000             🧑  作者: Mango
滚动平均是一种统计方法,用于计算一段时间内收集到的数据的平均值,并随着新数据的到来不断更新平均值。滚动平均通常用于平滑数据,以减少噪音和波动。
Pandas是Python中最受欢迎的数据分析库之一,可用于进行滚动平均计算。Pandas提供了rolling
方法,允许我们在DataFrame或Series对象上执行滚动平均操作。
下面是一个示例,演示如何在一个时间序列数据集上执行滚动平均:
import pandas as pd
import numpy as np
# 构造数据
date_rng = pd.date_range(start='1/1/2020', end='1/10/2020', freq='H')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0,100,size=(len(date_rng)))
# 计算滚动平均并添加到DataFrame中
df['rolling_avg'] = df['data'].rolling(window=3).mean()
print(df.head())
输出结果:
| | date | data | rolling_avg | |---:|:--------------------|-------:|--------------:| | 0 | 2020-01-01 00:00:00 | 59 | nan | | 1 | 2020-01-01 01:00:00 | 87 | nan | | 2 | 2020-01-01 02:00:00 | 37 | 61. | | 3 | 2020-01-01 03:00:00 | 62 | 62. | | 4 | 2020-01-01 04:00:00 | 66 | 55. |
在上面的示例中,我们首先构造了一个时间序列数据集,并计算了滚动窗口为3的滚动平均值,并将结果添加到DataFrame中。最终输出结果中的第一个窗口包含了NaN,因为无法计算第一个窗口的滚动平均值。
通过使用Python中的Pandas库,我们可以很容易地执行滚动平均操作。使用滚动平均可以平滑数据,减少噪音和波动,以便更好地理解和分析数据。