gpt4 book ai didi

python - numpy.histogram() 是如何工作的?

转载 作者:IT老高 更新时间:2023-10-28 21:06:42 28 4
gpt4 key购买 nike

在阅读 numpy 时,我遇到了函数 numpy.histogram() .

它有什么用途以及它是如何工作的?在他们提到 bins 的文档中:它们是什么?

一些谷歌搜索将我带到 definition of Histograms in general .我明白了。但不幸的是,我无法将这些知识与文档中给出的示例联系起来。

最佳答案

bin 是表示直方图沿 X 轴的单个条的宽度的范围。您也可以将其称为间隔。 (维基百科更正式地将它们定义为“不相交的类别”。)

Numpy histogram 函数不会绘制直方图,但它会计算落在每个 bin 内的输入数据的出现次数,进而确定区域(如果 bin 是't 等宽)。

在这个例子中:

 np.histogram([1, 2, 1], bins=[0, 1, 2, 3])

共有 3 个 bin,取值范围分别为 0 到 1(不包括 1.)、1 到 2(不包括 2)和 2 到 3(包括 3)。 Numpy 定义这些 bin 的方式是在此示例中通过给出分隔符列表 ([0, 1, 2, 3]),尽管它也返回结果中的 bin,因为它可以选择它们如果未指定,则自动从输入中获取。例如,如果 bins=5,它将在最小输入值和最大输入值之间使用 5 个等宽的 bin。

输入值为 1、2 和 1。因此,bin "1 to 2"包含两次出现(两个 1 值),bin "2 to 3"包含一次出现( 2)。这些结果在返回元组的第一项中:array([0, 2, 1]).

由于此处的 bin 宽度相等,因此您可以使用出现次数作为每个条的高度。绘制后,您将拥有:

  • X 轴上 range/bin [0,1] 的高度为 0 的条形,
  • 范围/bin [1,2] 的高度为 2 的条形
  • 范围/bin [2,3] 的高度为 1 的条形。

您可以使用 Matplotlib 直接绘制它(它的 hist 函数还返回 bin 和值):

>>> import matplotlib.pyplot as plt
>>> plt.hist([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]), <a list of 3 Patch objects>)
>>> plt.show()

enter image description here

关于python - numpy.histogram() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141732/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com