Как выбрать 5 лучших категорий с Python сводной таблицы - PullRequest
0 голосов
/ 10 декабря 2018

у меня есть фрейм данных, как показано ниже:

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", "Nationality_desc", "AgeGroup", "Category" (в том же порядке) и получить сумму"Сумма".Несмотря на то, что это простая группировка, проблема в том, что я хотел получить значения этой группы только для, скажем, Top 5 «Category» (в моих данных, хотя для определенного Salary_Range, мы можем взять только Top 2, поэтому мы можем рассмотреть Top 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: «КАТЕГОРИЯ» - это сумма «СУММА:

»
...