【问题标题】:Difficulty in plotting Pandas Multi-indexed DataFrame or series难以绘制 Pandas 多索引 DataFrame 或系列
【发布时间】:2017-03-24 03:59:30
【问题描述】:

Please see this Image

s = pd.DataFrame(combined_df.groupby(['session','age_range', 'gender']).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

【问题讨论】:

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


    【解决方案1】:

    我认为您可以将unstackDataFrame.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()
    

    【讨论】:

    • 感谢您的回复。这个解决方案对我有用。但是 fill_value 抛出错误。所以,我删除了 fill_value 并且它工作得非常好。通过提到关卡,我可以深入了解 unstack 方法。
    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    • 2021-11-22
    • 2021-07-20
    • 2019-04-13
    • 2017-12-09
    相关资源
    最近更新 更多