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