绘制Pandas多索引DataFrame或系列

时间:2016-11-10 07:41:00

标签: python pandas matplotlib data-analysis multi-index

Please see this Image

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

1 个答案:

答案 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()

graph