numpy.histogram

numpy.histogram(a, bins=10, range=None, normed=None, weights=None, density=None)[源代码]

计算一组数据的柱状图。

参数
aarray_like

输入数据。柱状图是通过展平的数组计算出来的。

binsscalars或str的int或sequence,可选

如果 bins 是一个int,它定义给定范围(默认为10)内等宽的箱数。如果 bins 是一个序列,它定义了一个单调递增的箱边缘数组,包括最右边的边缘,允许不均匀的箱宽度。

1.11.0 新版功能.

如果 bins 是一个字符串,它定义了用于计算最佳肥料箱宽度的方法,定义如下 histogram_bin_edges .

range(浮动,浮动)可选

料仓的上下范围。如果没有提供,范围仅为 (a.min(), a.max()) . 超出范围的值将被忽略。范围的第一个元素必须小于或等于第二个元素。 range 也会影响自动肥料箱计算。同时,根据内部实际数据计算出的料位宽度是最佳的。 range ,bin计数将填充整个范围,包括不包含数据的部分。

normed可选的布尔

1.6.0 版后已移除.

这相当于 density 参数,但对不等的纸槽宽度产生错误的结果。不应使用。

在 1.15.0 版更改: 实际上会发出拒绝警告。

weights阵列式,可选

重量数组,形状与 a . 每一个值 a 仅将其关联的重量贡献给肥料箱计数(而不是1)。如果 density 如果为真,则对权重进行归一化,使范围内的密度积分保持为1。

density可选的布尔

如果 False ,结果将包含每个容器中的样本数。如果 True ,结果是概率值 密度 函数,标准化,以便 完整的 超出范围为1。请注意,除非选择单位宽度的分格,否则直方图值的和将不等于1;这不是概率 mass 功能。

重写 normed 关键字(如果给定)。

返回
hist数组

柱状图的值。见 densityweights 对于可能的语义的描述。

bin_edges数据类型浮点数组

返回粮箱边缘 (length(hist)+1) .

笔记

除了最后一个(最右边的)箱子外,其余的都是半开的。换句话说,如果 bins 是::

[1, 2, 3, 4]

那么第一个箱子是 [1, 2) (包括1个,但不包括2个)和第二个 [2, 3) . 不过,最后一个垃圾箱是 [3, 4] 哪一个 包括 4。

实例

>>> np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]))
>>> np.histogram(np.arange(4), bins=np.arange(5), density=True)
(array([0.25, 0.25, 0.25, 0.25]), array([0, 1, 2, 3, 4]))
>>> np.histogram([[1, 2, 1], [1, 0, 1]], bins=[0,1,2,3])
(array([1, 4, 1]), array([0, 1, 2, 3]))
>>> a = np.arange(5)
>>> hist, bin_edges = np.histogram(a, density=True)
>>> hist
array([0.5, 0. , 0.5, 0. , 0. , 0.5, 0. , 0.5, 0. , 0.5])
>>> hist.sum()
2.4999999999999996
>>> np.sum(hist * np.diff(bin_edges))
1.0

1.11.0 新版功能.

自动选择肥料箱方法示例,使用2个具有2000点的峰值随机数据:

>>> import matplotlib.pyplot as plt
>>> rng = np.random.RandomState(10)  # deterministic random data
>>> a = np.hstack((rng.normal(size=1000),
...                rng.normal(loc=5, scale=2, size=1000)))
>>> _ = plt.hist(a, bins='auto')  # arguments are passed to np.histogram
>>> plt.title("Histogram with 'auto' bins")
Text(0.5, 1.0, "Histogram with 'auto' bins")
>>> plt.show()
../../_images/numpy-histogram-1.png