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

2024-05-16 20:03:13 发布

您现在位置: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)

这里的金额是一年的。我希望它是一个月的平均数,所以总金额必须除以12。你知道吗

另外,我如何将这个轴心(或)分组可视化?你知道吗

前5(或)2:“类别”是通过求和“金额”


Tags: 数据dfrange类别金额descelectricalpd