scipy.ndimage.

histogram#

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

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

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

参数:
inputarray_like

用于计算直方图的数据。

min, maxint

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

binsint

箱的数量。

labelsarray_like,可选

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

indexint 或 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])