【问题标题】:How to plot histogram of mean of one column while bins are defined by another column in Pandas如何绘制一列平均值的直方图,而 bin 由 Pandas 中的另一列定义
【发布时间】:2020-11-23 20:53:15
【问题描述】:

我想为我的 Pandas DataFrame 的两列绘制直方图。虽然 bin 由列 ratio 的值定义,例如[0-0.1, 0.1-0.2,...,0.9-1.0],而不是像常规直方图这样的计数,我需要为每个 bin 绘制另一列 feet 的平均值。我可能可以创建另一列将列ratio 分箱,并通过在新列上分组来计算feet 的平均值。但是有没有办法只绘制它而不生成新列

【问题讨论】:

    标签: python pandas matplotlib histogram


    【解决方案1】:

    您不需要创建新列,只需将一个函数传递给 groupby:

    例子:

    import pandas as pd
    import numpy as np
    df = pd.DataFrame({'ratio':np.random.rand(100), 'feet': np.random.rand(100)*10})
    df.groupby(pd.cut(df.ratio, np.linspace(0,1,11))).feet.mean().plot.bar()
    

    PS:从pandas 1.1.0版本开始可以直接指定y标签,比如...plot.bar(ylabel='Mean feet')

    【讨论】:

    • 我实际上是回到这里来扭转我的编辑并看到你的评论,我完全同意 - 我很抱歉! (我有点尴尬)
    • @zelusp:别担心,没问题
    猜你喜欢
    • 2019-07-27
    • 2018-12-06
    • 1970-01-01
    • 2016-06-11
    • 2020-08-02
    • 2023-03-12
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多