【问题标题】:Create histogram with specific values in x and y在 x 和 y 中创建具有特定值的直方图
【发布时间】:2021-06-13 17:30:38
【问题描述】:

我有以下数据框

    COD     DATE         QTD            MOV             SUM
1   15295   2021-01-22    1             10.0             3
3   15801   2020-12-04    1             10.0             1
4   23369   2021-01-01    1             7.5              6
11  32012   2020-07-26    1             10.0             2
12  37726   2020-06-30    1             10.0             1

我想制作一个直方图,其中在 x 轴上有来自列 SUM(有序)的值,在 y 轴上是在 x 轴上具有 SUM 值的 COD 数。 我尝试制作直方图并移动垃圾箱的数量,但收效甚微。 也许它必须用条形图来完成?但是如何选择要放在 y 轴上的内容?谁能帮帮我?

【问题讨论】:

    标签: python pandas matplotlib graph jupyter


    【解决方案1】:

    使用Series.value_countsSeries.reindex,然后使用Series.plot.bar

    r = range(df['SUM'].min(), df['SUM'].max() + 1)
    s = df['SUM'].value_counts().reindex(r, fill_value=0)
    print (s)
    1    2
    2    1
    3    1
    4    0
    5    0
    6    1
    Name: SUM, dtype: int64
    
    s.plot.bar()
    

    或者使用Series.plot.hist:

    df['SUM'].plot.hist()
    

    【讨论】:

    • 在 x 轴上显示所有 COD。有没有可能得到一个号码?比如 5 COD 有 3 SUM?
    • 在 x 上是 COD 的数量(如聚合 - 1,2,3,...),在 y 上是 SUM 的数量。例如,有人会像 5 个 COD(从 x 轴)有 3 个 SUM 一样读取图表。
    • 我想是的。计算 SUM 中具有一定值的 COD 的数量并绘制它们。
    • 我没有示例图。但也许需要进行一些预处理?就像从 COD 计数的结果和 SUM 的值中获取数据帧一样?为了更容易绘制
    • 谢谢!巨大的帮助!
    猜你喜欢
    • 2015-12-09
    • 2018-11-14
    • 1970-01-01
    • 2021-10-24
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多