Python如何分组并获得前5行?

时间:2018-12-10 14:39:21

标签: python pivot-table pandas-groupby

我的数据框如下:

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

我需要按

分组
  • “薪水范围”
  • “ Nationality_desc”
  • “ AgeGroup”
  • “类别”(顺序相同)

并获得“金额”之和。尽管它的分组很简单,但是这里的挑战是我只想获取前5个“类别”的分组值(在我的数据中,尽管对于特定的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)

此处的金额为一年。我希望将其平均一个月,所以金额总和必须除以12。

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

前5个(或第2个):“类别”是对“金额”求和

0 个答案:

没有答案