# dask.array.clip

dask.array.clip(*args, **kwargs)

  Clip (limit) the values in an array.

  This docstring was copied from numpy.clip.

  Some inconsistencies with the Dask version may exist.

  Given an interval, values outside the interval are clipped to the interval edges. For example, if an interval of `[0, 1]` is specified, values smaller than 0 become 0, and values larger than 1 become 1.

  Equivalent to but faster than `np.minimum(a_max, np.maximum(a, a_min))`.

  No check is performed to ensure `a_min < a_max`.

  Parameters:
    a array_like (Not supported in Dask)

      Array containing elements to clip.

    a_min, a_max array_like or None

      Minimum and maximum value. If `None`, clipping is not performed on the corresponding edge. If both `a_min` and `a_max` are `None`, the elements of the returned array stay the same. Both are broadcasted against `a`.

    out ndarray, optional (Not supported in Dask)

      The results will be placed in this array. It may be the input array for in-place clipping. out must be of the right shape to hold the output. Its type is preserved.

    min, max array_like or None

      Array API compatible alternatives for `a_min` and `a_max` arguments. Either `a_min` and `a_max` or `min` and `max` can be passed at the same time. Default: `None`.

      Added in version 2.1.0.

    **kwargs

      For other keyword-only arguments, see the ufunc docs.

  Returns:
    clipped_array ndarray

      An array with the elements of a, but where values < a_min are replaced with a_min, and those > a_max with a_max.

  See also

  ufuncs-output-type

  Notes

  When a_min is greater than a_max, clip returns an array in which all values are equal to a_max, as shown in the second example.

  Examples

      >>> import numpy as np
      >>> a = np.arange(10)
      >>> a
      array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
      >>> np.clip(a, 1, 8)
      array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8])
      >>> np.clip(a, 8, 1)
      array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
      >>> np.clip(a, 3, 6, out=a)
      array([3, 3, 3, 3, 4, 5, 6, 6, 6, 6])
      >>> a
      array([3, 3, 3, 3, 4, 5, 6, 6, 6, 6])
      >>> a = np.arange(10)
      >>> a
      array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
      >>> np.clip(a, [3, 4, 1, 1, 1, 4, 4, 4, 4, 4], 8)
      array([3, 4, 2, 3, 4, 5, 6, 7, 8, 8])