【问题标题】:pandas dataframe binned data plotting熊猫数据框分箱数据绘图
【发布时间】:2023-03-28 20:50:01
【问题描述】:

我有一个 pandas 数据框 (df),其中 df.age 列从 0 到 100 年不等,还有一个 df.haircolor 列(亮、暗、紫色、灰色)。

现在我想用几十年来划分年龄:

bins = np.linspace(df.age.min(), df.age.max(), 10)
decades = df.groupby(np.digitize(df.age, bins))

现在我正在尝试找到一种绘制此图的好方法。我想要一个条形图,其中每种头发颜色都有一个条形图。我天真地尝试过。

df['haircolor'].plot(kind='bar', by=decades)

它没有给我我希望的结果。任何人的想法?谢谢。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    试试这个:

    df['decade'] = df.age // 10 * 10
    df.groupby(['decade', 'haircolor']).haircolor.count().plot(kind='bar')
    

    【讨论】:

    • 这给了我一个 KeyError: 'decades'
    • 抱歉,我以为您已经在 DataFrame 中包含了十年。计算见上。
    • 谢谢 Alexander,这很有效 - 你也知道一种对不同头发颜色进行颜色编码的方法吗?
    猜你喜欢
    • 2017-12-16
    • 2013-08-16
    • 2017-03-20
    • 1970-01-01
    • 2018-04-06
    • 2020-11-29
    • 2019-12-14
    • 2019-05-03
    相关资源
    最近更新 更多