numpy.clip — NumPy v2.3.dev0 Manual (original) (raw)
numpy.clip(a, a_min=, a_max=, out=None, *, min=, max=, **kwargs)[source]#
Clip (limit) the values in an array.
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:
aarray_like
Array containing elements to clip.
a_min, a_maxarray_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
.
outndarray, optional
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, maxarray_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
.
New in version 2.1.0.
**kwargs
For other keyword-only arguments, see theufunc docs.
Returns:
clipped_arrayndarray
An array with the elements of a, but where values < _a_min_ are replaced with _a_min_, and those > _a_max_with a_max.
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])