查找滚动平均 – Python Pandas
要查找滚动均值,我们将使用 Pandas 中的 apply() 函数。首先,让我们导入所需的库 −
import pandas as pd
创建一个带有 2 列的数据框。其中一列是一个 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 # Create DataFrame 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
广告