scipy.ndimage.

median#

scipy.ndimage.median(input, labels=None, index=None)[source]#

计算标注区域中数组值的均值。

参数:
inputarray_like

值的数组类。对于label指定的每一个区域,计算区域中input的均值。

labelsarray_like, optional

使用整数标注的数组类,区域不同,用以计算input的均值。labels必须与input的形状相同。如果未指定label,则返回整个数组的均值。

indexarray_like, optional

用于计算均值的区域标签列表。如果index为None,则返回所有元素(labels非零)的均值。

返回:
medianflaot或float列表

labels确定的区域中的input中值列表,且其索引在index中。如果未指定indexlabels,则返回一个浮点数:如果labels为 None,则为input的中值;如果index为 None,则为labels大于 0 的元素的中值。

说明

该函数返回一个 Python 列表,而不是一个 NumPy 数组,请使用np.array将列表转换为数组。

示例

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.array([[1, 2, 0, 1],
...               [5, 3, 0, 4],
...               [0, 0, 0, 7],
...               [9, 3, 0, 0]])
>>> labels, labels_nb = ndimage.label(a)
>>> labels
array([[1, 1, 0, 2],
       [1, 1, 0, 2],
       [0, 0, 0, 2],
       [3, 3, 0, 0]])
>>> ndimage.median(a, labels=labels, index=np.arange(1, labels_nb + 1))
[2.5, 4.0, 6.0]
>>> ndimage.median(a)
1.0
>>> ndimage.median(a, labels=labels)
3.0