s = pd.DataFrame(combined_df.groupby(['会话',' age_range','性别'])。size()) s.head(25)
0
session age_range gender
Evening 0 - 17 female 31022
male 21754
18 - 24 female 79086
male 71563
unknown 75
25 - 29 female 29321
male 46125
unknown 44
30 - 34 female 21480
male 25803
unknown 33
35 - 44 female 17369
male 20335
unknown 121
45 - 54 female 8420
male 12385
unknown 24
55+ female 3433
male 9880
unknown 212
Mid Night 0 - 17 female 18456
male 12185
18 - 24 female 50536
male 45829
unknown 62
这就是我的多索引数据框的样子。我所要做的就是以这样一种方式绘制数据:我可以比较不同年龄段(例如早晨,晚上,中午和夜晚)活跃的不同年龄组的男性和女性用户。 例如,我将在我所拥有的不同会话期间绘制0-17岁,18-24岁,25-29岁年龄组的男性和女性用户。
注意:我已经尝试了一些堆栈溢出的例子,其他网站仍然没有成功获得我需要的东西。所以,我请求你们尝试解决我的问题并帮助我找到解决方案。我一直在努力解决这个问题很多天,甚至文档也很模糊。所以,请对这个问题有所了解。 ] 2
答案 0 :(得分:0)
我认为您可以unstack
使用DataFrame.plot.bar
:
import matplotlib.pyplot as plt
df = combined_df.groupby(['session','age_range', 'gender']).size()
df.unstack(fill_value=0).plot.bar()
plt.show()