# dask.array.min

dask.array.min(a, axis=None, keepdims=False, split_every=None, out=None)

  Return the minimum of an array or minimum along an axis.

  This docstring was copied from numpy.min.

  Some inconsistencies with the Dask version may exist.

  Parameters:
    a array_like

      Input data.

    axis None or int or tuple of ints, optional

      Axis or axes along which to operate. By default, flattened input is used.

      If this is a tuple of ints, the minimum is selected over multiple axes, instead of a single axis or all the axes as before.

    out ndarray, optional

      Alternative output array in which to place the result. Must be of the same shape and buffer length as the expected output. See ufuncs-output-type for more details.

    keepdims bool, optional

      If this is set to True, the axes which are reduced are left in the result as dimensions with size one. With this option, the result will broadcast correctly against the input array.

      If the default value is passed, then keepdims will not be passed through to the `min` method of sub-classes of ndarray, however any non-default value will be. If the sub-class’ method does not implement keepdims any exceptions will be raised.

    initial scalar, optional (Not supported in Dask)

      The maximum value of an output element. Must be present to allow computation on empty slice. See ~numpy.ufunc.reduce for details.

    where array_like of bool, optional (Not supported in Dask)

      Elements to compare for the minimum. See ~numpy.ufunc.reduce for details.

  Returns:
    min ndarray or scalar

      Minimum of a. If axis is None, the result is a scalar value. If axis is an int, the result is an array of dimension `a.ndim - 1`. If axis is a tuple, the result is an array of dimension `a.ndim - len(axis)`.

  See also

  `amax`

    The maximum value of an array along a given axis, propagating any NaNs.

  `nanmin`

    The minimum value of an array along a given axis, ignoring any NaNs.

  `minimum`

    Element-wise minimum of two arrays, propagating any NaNs.

  `fmin`

    Element-wise minimum of two arrays, ignoring any NaNs.

  `argmin`

    Return the indices of the minimum values.

  `nanmax`, `maximum`, `fmax`

  Notes

  NaN values are propagated, that is if at least one item is NaN, the corresponding min value will be NaN as well. To ignore NaN values (MATLAB behavior), please use nanmin.

  Don’t use ~numpy.min for element-wise comparison of 2 arrays; when `a.shape[0]` is 2, `minimum(a[0], a[1])` is faster than `min(a, axis=0)`.

  Examples

      >>> import numpy as np
      >>> a = np.arange(4).reshape((2,2))
      >>> a
      array([[0, 1],
             [2, 3]])
      >>> np.min(a)           # Minimum of the flattened array
      0
      >>> np.min(a, axis=0)   # Minima along the first axis
      array([0, 1])
      >>> np.min(a, axis=1)   # Minima along the second axis
      array([0, 2])
      >>> np.min(a, where=[False, True], initial=10, axis=0)
      array([10,  1])

      >>> b = np.arange(5, dtype=float)
      >>> b[2] = np.nan
      >>> np.min(b)
      np.float64(nan)
      >>> np.min(b, where=~np.isnan(b), initial=10)
      0.0
      >>> np.nanmin(b)
      0.0

      >>> np.min([[-50], [10]], axis=-1, initial=0)
      array([-50,   0])

  Notice that the initial value is used as one of the elements for which the minimum is determined, unlike for the default argument Python’s max function, which is only used for empty iterables.

  Notice that this isn’t the same as Python’s `default` argument.

      >>> np.min([6], initial=5)
      5
      >>> min([6], default=5)
      6