为了找到滚动均值,我们将使用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