更改直方图数据的 bin 大小

Posted

技术标签:

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

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

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

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

谢谢!

【问题讨论】:

【参考方案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 参数用于带有上述数组的条形)。或者您是否需要从您拥有的数据中获得不同的宽度(某种形式的插值)?您能否包括一些示例数据,也许还有输出草图?

以上是关于更改直方图数据的 bin 大小的主要内容,如果未能解决你的问题,请参考以下文章

PYTHON 中可能输入的函数

更改 matplotlib 中子图的“xticks”和“Yticks”的字体大小和粗体 [重复]

R语言plotly可视化:plotly可视化多个数据集归一化直方图(historgram)设置不同的直方图使用不同的分箱大小(bin size)在直方图的底部边缘添加边缘轴须图rug

如何根据 bin 的 x 值将颜色图应用于绘图直方图?

R语言plotly可视化:可视化多个数据集归一化直方图(historgram)并在直方图中添加密度曲线kde设置不同的直方图使用不同的分箱大小(bin size)在直方图的底部边缘添加边缘轴须图

Matplotlib散点图条形图直方图-02