Skip to main content
`Ctrl`+`K`

# `combo`: Statistics combo functions

This module provides combination of statistics as single operation.

For now it provides min/max (and optionally positive min) and indices of first occurrences (i.e., argmin/argmax) in a single pass.

min_max(data, bool min_positive=False, bool finite=False)

  Returns min, max and optionally strictly positive min of data.

  It also computes the indices of first occurrence of min/max.

  NaNs are ignored while computing min/max unless all data is NaNs, in which case returned min/max are NaNs.

  The result data type is that of the input data, except for the following cases. For input using non-native bytes order, the result is returned as native floating-point or integers. For input using 16-bits floating-point, the result is returned as 32-bits floating-point.

  Examples:

      >>> import numpy
      >>> data = numpy.arange(10)

  Usage as a function returning min and max:

      >>> min_, max_ = min_max(data)

  Usage as a function returning a result object to access all information:

      >>> result = min_max(data)  # Do not get positive min
      >>> result.minimum, result.argmin
      0, 0
      >>> result.maximum, result.argmax
      9, 10
      >>> result.min_positive, result.argmin_positive  # Not computed
      None, None

  Getting strictly positive min information:

      >>> result = min_max(data, min_positive=True)
      >>> result.min_positive, result.argmin_positive  # Computed
      1, 1

  If finite is True, min/max information is computed only from finite data. Then, all result fields (include minimum and maximum) can be None when all data is infinity or NaN.

  Parameters:

    - data – Array-like dataset

    - min_positive (bool) – True to compute the positive min and argmin Default: False.

    - finite (bool) – True to compute min/max from finite data only Default: False.

  Returns:

    An object with minimum, maximum and min_positive attributes and the indices of first occurrence in the flattened data: argmin, argmax and argmin_positive attributes. If all data is <= 0 or min_positive argument is False, then min_positive and argmin_positive are None.

  Raises:

    ValueError if data is empty