【问题标题】:change bin size of histogram data更改直方图数据的 bin 大小
【发布时间】:2016-12-25 00:43:07
【问题描述】:

我有来自类似 SQL 语句的数据

'select action_count, count(*) "num_users" from customers group by action_count;'

并将其加载到 pandas 数据框中。我可以在数据上运行一个简单的绘图命令,或者 barplot 让它看起来像一个直方图。但是我怎样才能轻松地改变这个数据集的 bin 大小呢?然后我如何正确绘制 bin,即 x 轴?

谢谢!

【问题讨论】:

    标签: python pandas numpy matplotlib seaborn


    【解决方案1】:

    您可以使用pandashist 中的列表指定 bin 边缘的位置。例如,使用自定义序列,bin 从-2.0-0.5,然后-0.50.0,然后是0.1 的几个增量,

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    
    df =pd.DataFrame({'col1':np.random.randn(10000)})
    df.hist(bins=[-2.,-0.5,0.,0.1,0.2,0.3])   
    plt.show()
    

    哪些情节,

    【讨论】:

    • 是的,这是我所知道的正常方式。但我拥有的数据不再是原始数据(参见 SQL 语句)。就像我要在你的例子中写 [((-2,-.5),2700), ((-.5,0), 1900), ...] 一样。只是我只有整数作为'bins'。
    • 所以你已经有了直方图数据(例如numpy.histogram的输出)?您是否希望绘制的条形宽度与这些匹配(在这种情况下,您可以将width 参数用于带有上述数组的条形)。或者您是否需要从您拥有的数据中获得不同的宽度(某种形式的插值)?您能否包括一些示例数据,也许还有输出草图?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 2011-10-22
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多