Skip to main content
`Ctrl`+`K`

# scipy.ndimage.mean

scipy.ndimage.mean(input, labels=None, index=None)

  Calculate the mean of the values of an array at labels.

  Parameters:
    input array_like

      Array on which to compute the mean of elements over distinct regions.

    labels array_like, optional

      Array of labels of same shape, or broadcastable to the same shape as input. All elements sharing the same label form one region over which the mean of the elements is computed.

    index int or sequence of ints, optional

      Labels of the objects over which the mean is to be computed. Default is None, in which case the mean for all values where label is greater than 0 is calculated.

  Returns:
    out list

      Sequence of same length as index, with the mean of the different regions labeled by the labels in index.

  See also

  `variance`, `standard_deviation`, `minimum`, `maximum`, `sum`, `label`

  Examples

      >>> from scipy import ndimage
      >>> import numpy as np
      >>> a = np.arange(25).reshape((5,5))
      >>> labels = np.zeros_like(a)
      >>> labels[3:5,3:5] = 1
      >>> index = np.unique(labels)
      >>> labels
      array([[0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0],
             [0, 0, 0, 1, 1],
             [0, 0, 0, 1, 1]])
      >>> index
      array([0, 1])
      >>> ndimage.mean(a, labels=labels, index=index)
      [10.285714285714286, 21.0]