scipy.ndimage.

直方图#

scipy.ndimage.histogram(input, min, max, bins, labels=None, index=None)[源代码][源代码]#

计算数组值的直方图,可选地在标签处。

直方图计算数组中值在由 minmaxbins 确定的区间内的频率。labelsindex 关键字可以将直方图的范围限制在数组内的指定子区域内。

参数:
输入array_like

用于计算直方图的数据。

最小值, 最大值整数

直方图箱范围的最小值和最大值。

bins整数

箱数。

标签类似数组, 可选

input 中对象的标签。如果不是 None,则必须与 input 形状相同。

索引int 或 int 序列,可选

要计算直方图的标签或标签。如果为 None,则使用标签大于零的所有值。

返回:
histndarray

直方图计数。

示例

>>> import numpy as np
>>> a = np.array([[ 0.    ,  0.2146,  0.5962,  0.    ],
...               [ 0.    ,  0.7778,  0.    ,  0.    ],
...               [ 0.    ,  0.    ,  0.    ,  0.    ],
...               [ 0.    ,  0.    ,  0.7181,  0.2787],
...               [ 0.    ,  0.    ,  0.6573,  0.3094]])
>>> from scipy import ndimage
>>> ndimage.histogram(a, 0, 1, 10)
array([13,  0,  2,  1,  0,  1,  1,  2,  0,  0])

在没有标签和索引的情况下,非零元素会被计数:

>>> lbl, nlbl = ndimage.label(a)
>>> ndimage.histogram(a, 0, 1, 10, lbl)
array([0, 0, 2, 1, 0, 1, 1, 2, 0, 0])

索引可以用来仅统计某些对象:

>>> ndimage.histogram(a, 0, 1, 10, lbl, 2)
array([0, 0, 1, 1, 0, 0, 1, 1, 0, 0])