在 Python Pandas Pivot 中使用 stats.trim_mean ass aggfunc
Use stats.trim_mean ass aggfunc in Python Pandas Pivot
我正在尝试使用 pandas 创建一个枢轴,其中聚合函数被截断意味着占用数据每一端的 10%。
pivot = pd.pivot_table(data[(data['New_category_ID'] > 0)&(data['YYYY'] == 2016)], index = 'New_category', values=['GrossRevenue_GBP','MOVC_GBP','PM_GBP'],aggfunc=stats.trim_mean(0.1))
我收到以下错误:
TypeError: trim_mean() missing 1 required positional argument: 'proportiontocut'
stats.trim_mean()
采用两个参数,一个是数据,另一个是要从数据的每一端删除的数据百分比。在这种情况下,我指定 10%。
我如何绕过指定 column/dataframe 的需要,它应该采用给定我正在尝试创建数据透视表 table 的修剪平均值?
非常感谢您的帮助
您可以使用 lambda 函数:
pivot = pd.pivot_table(data[(data['New_category_ID'] > 0) & (data['YYYY']==2016)],
index='New_category',
values=['GrossRevenue_GBP', 'MOVC_GBP', 'PM_GBP'],
aggfunc=lambda x: stats.trim_mean(x, 0.1))
我正在尝试使用 pandas 创建一个枢轴,其中聚合函数被截断意味着占用数据每一端的 10%。
pivot = pd.pivot_table(data[(data['New_category_ID'] > 0)&(data['YYYY'] == 2016)], index = 'New_category', values=['GrossRevenue_GBP','MOVC_GBP','PM_GBP'],aggfunc=stats.trim_mean(0.1))
我收到以下错误:
TypeError: trim_mean() missing 1 required positional argument: 'proportiontocut'
stats.trim_mean()
采用两个参数,一个是数据,另一个是要从数据的每一端删除的数据百分比。在这种情况下,我指定 10%。
我如何绕过指定 column/dataframe 的需要,它应该采用给定我正在尝试创建数据透视表 table 的修剪平均值?
非常感谢您的帮助
您可以使用 lambda 函数:
pivot = pd.pivot_table(data[(data['New_category_ID'] > 0) & (data['YYYY']==2016)],
index='New_category',
values=['GrossRevenue_GBP', 'MOVC_GBP', 'PM_GBP'],
aggfunc=lambda x: stats.trim_mean(x, 0.1))