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

我有一个数据框如下:

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']})

我需要按“Salary_Range”,“Ethnic_desc”,“AgeGroup”,“Category”(按相同顺序)进行分组,并获得“金额”的总和 . 虽然它的直截了当的分组,但这里面临的挑战是,我想仅仅为前五名“类别”获得此组值(在我的数据中,虽然对于特定的Salary_Range,我们只能选择前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()
  • 这里的金额为一年 . 我希望它平均一个月,所以金额总和必须除以12 .

  • 此外,我如何可视化此透视(或)组?

有人可以帮忙吗?我现在几个小时都在挣扎 .

前5(或)2:“CATEGORY”是将“AMOUNT”加起来:

回答(0)