在python中获取要绘制的行百分比

在python中获取要绘制的行百分比,python,pandas,histogram,Python,Pandas,Histogram,嗨,我想创建一个频率表,在这里我可以得到行(或列)百分比,目的是能够在条形图中并排绘制数据。输出如下所示: Male Female Mon 21% 79% Tues 33% 67% Weds 11% 89% Day Gender Mon Male Mon Female Mon Female Weds Female Fri Male 当前我的数据如下所示: Male Female Mon 21% 79

嗨,我想创建一个频率表,在这里我可以得到行(或列)百分比,目的是能够在条形图中并排绘制数据。输出如下所示:

       Male  Female
 Mon   21%     79%
 Tues  33%     67%
 Weds  11%     89%
Day  Gender
Mon  Male
Mon  Female
Mon  Female
Weds Female
Fri  Male
当前我的数据如下所示:

       Male  Female
 Mon   21%     79%
 Tues  33%     67%
 Weds  11%     89%
Day  Gender
Mon  Male
Mon  Female
Mon  Female
Weds Female
Fri  Male
最后,我只想要5个条形图(每天一个),每个性别有两个条形图。我试过groupby:

df.groupby(['day','gender']).size()

但这只给出了原始计数,两个直方图都无法解释,条形图看起来很奇怪,因为我无法正常化(某些日子的体积比其他日子大得多)。任何帮助都将不胜感激

完成上面的groupby之后,需要取消堆叠结果(这将生成一个透视表)

您可能希望用零填充NAN(
.fillna(0)

现在,您可以将此结果除以行的总和:

>>> gb.div(gb.sum(axis=1).values, axis=0)
Gender    Female      Male
Day                       
Fri          NaN  1.000000
Mon     0.666667  0.333333
Weds    1.000000       NaN
您可以通过添加
.plot(kind='bar')