查找滚动平均值——Python Pandas

为了找到滚动均值,我们将使用apply()Pandas 中的函数。首先,让我们导入所需的库 -

import pandas as pd

创建一个包含 2 列的 DataFrame。一个是 int 列 -

dataFrame = pd.DataFrame(
   {
      "Car": ['Tesla', 'Mercedes', 'Tesla', 'Mustang', 'Mercedes', 'Mustang'],
      "Reg_Price": [5000, 1500, 6500, 8000, 9000, 6000]

   }
)

使用 GroupBy 分组并使用以下方法找到滚动平均值apply()-

dataFrame.groupby("Car")["Reg_Price"].apply(
lambda x: x.rolling(center=False, window=2).mean())

示例

以下是代码 -

import pandas as pd

# 创建数据帧
dataFrame = pd.DataFrame(
   {
      "Car": ['Tesla', 'Mercedes', 'Tesla', 'Mustang', 'Mercedes', 'Mustang'],
      "Reg_Price": [5000, 1500, 6500, 8000, 9000, 6000]
   }
)

print"DataFrame ...\n",dataFrame

print"\nRolling Mean...\n",dataFrame.groupby("Car")["Reg_Price"].apply(
lambda x: x.rolling(center=False, window=2).mean())
输出结果

这将产生以下输出 -

DataFrame ...
        Car   Reg_Price
0     Tesla       5000
1  Mercedes       1500
2     Tesla       6500
3   Mustang       8000
4  Mercedes       9000
5   Mustang       6000

Rolling Mean...
0       NaN
1       NaN
2    5750.0
3       NaN
4    5250.0
5    7000.0
Name: Reg_Price, dtype: float64