📜  数据框的 python 中 12 个月 movinf 平均值 - Python (1)

📅  最后修改于: 2023-12-03 15:26:08.624000             🧑  作者: Mango

数据框的 Python 中 12 个月移动平均值 - Python

在数据分析和统计中,移动平均值是一种常用的数据处理方法。它可以作为预测分析的一种手段,同时也可以用于去除数据中的噪音和突变。

Python 中,我们可以使用 pandas 数据框来实现 12 个月移动平均值的计算。下面是一个简单的 Python 代码片段,展示如何使用 pandas 实现这个功能。

import pandas as pd

# 创建一个包含日期和数据值的数据框
df = pd.DataFrame({'date': ['2021-01-01', '2021-02-01', '2021-03-01', '2021-04-01', '2021-05-01', '2021-06-01', '2021-07-01', '2021-08-01', '2021-09-01', '2021-10-01', '2021-11-01', '2021-12-01'],
                   'value': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]})

# 将日期列转换为时间戳格式,并将其设置为数据框的索引
df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)

# 计算 12 个月移动平均值
mov_avg_12 = df.rolling(window=12).mean()
print(mov_avg_12)

代码解析:

  1. 首先,我们导入 pandas 库,并创建一个包含日期和数据值的数据框。

  2. 然后,我们使用 pd.to_datetime() 函数将日期列转换为时间戳格式,并使用 set_index() 函数将其设置为数据框的索引。

  3. 最后,我们使用 rolling() 函数和 mean() 函数计算 12 个月移动平均值。其中,rolling() 函数指定滑动窗口的大小,这里为 12,表示计算 12 个月的移动平均值;mean() 函数求解每个窗口的平均值。

运行以上代码,输出结果如下:

                 value
date                  
2021-01-01         NaN
2021-02-01         NaN
2021-03-01         NaN
2021-04-01         NaN
2021-05-01         NaN
2021-06-01         NaN
2021-07-01         NaN
2021-08-01         NaN
2021-09-01         NaN
2021-10-01         NaN
2021-11-01         NaN
2021-12-01  65.000000

可以看到,结果数据框的前 11 行为 NaN,因为这是由于计算移动平均值时需要滑动窗口,所以前 11 行无法计算。从第 12 行开始,每行的值就是对应 12 个月的移动平均值。

以上就是 Python 中计算数据框 12 个月移动平均值的简单介绍。希望这篇文章能对你有所帮助。