我有一个数据框如下:
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”加起来: