如何使用透视表python选择前5个类别

2024-04-19 23:45:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据框如下:

df = pd.DataFrame({"Salary_Range": ['0-4999', '0-4999', '0-4999', '5000-7999', '5000-7999', '8000-14999', '8000-14999'],
      "Nationality_desc": ['India', 'India', 'Philippines', 'Pakistan', 'America', 'America', 'India'],
      "AgeGroup":['Adult','Adult','Young','Young','Senior','Senior','Adult'],
      "Amount":['10000','24000','45000','21200','43200','12300','54300'],
      "Category" :['Electrical','Electrical','Electrical','House','Toy','Car','House']})

我需要按“薪资范围”、“国籍描述”、“年龄组”、“类别”(顺序相同)进行分组,得到“金额”之和。虽然它的分组很简单,但这里的挑战是,我只想得到前5个“类别”的组值(在我的数据中,虽然对于特定的薪资范围,我们只能取前2个,所以我们可以将前2个作为我的玩具数据集)

我写了下面的代码,但我不能得到只有前2名的“类别”,它给出了所有可用的“类别”。你知道吗

frame_mcc=pd.pivot_table(df,index=['Salary_Range','Nationality_desc','AgeGroup','Category'],
                        values=['Amount'],aggfunc=[np.sum,len],fill_value=0)
frame_mcc.reset_index()
  1. 这里的金额是一年的。我希望它是一个月的平均数,所以总金额必须除以12。

  2. 另外,我如何将这个轴心(或)分组可视化?

有人能帮忙吗?我已经为此挣扎了好几个小时了。你知道吗

前5(或)2:“类别”是指“金额:


Tags: 数据dfrange类别金额descelectricalpd