scipy.ndimage.
histogram#
- scipy.ndimage.histogram(input, min, max, bins, labels=None, index=None)[source]#
计算数组值的直方图,可以选择在标签处。
直方图计算数组中值在由 min、max 和 bins 确定的区间内的频率。 labels 和 index 关键字可以将直方图的范围限制在数组中的指定子区域。
- 参数:
- inputarray_like
用于计算直方图的数据。
- min, maxint
直方图区间范围的最小值和最大值。
- binsint
区间数量。
- labelsarray_like, optional
在 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])