在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')