np.clip分析
语法
np.clip(a, a_min, a_max, out=None, **kwarys)
作用
对数组a进行裁剪,小于a_min 的数用a_min代替, 大于a_max的数用a_max代替。
需要注意的是,函数本身并不会对a_min
和a_max
之间的大小进行检查。
参数
- a: 待裁剪的数组
- a_min: 下界
- a_max: 上界
示例
>>> a = np.arange(10)
>>> print(a)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = np.clip(a, 3, 7)
>>> print(b)
array([3, 3, 3, 3, 4, 5, 6, 7, 7, 7])
官方文档
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
----------
a : array_like
Array containing elements to clip.
a_min : scalar or array_like or None
Minimum value. If None, clipping is not performed on lower
interval edge. Not more than one of `a_min` and `a_max` may be
None.
a_max : scalar or array_like or None
Maximum value. If None, clipping is not performed on upper
interval edge. Not more than one of `a_min` and `a_max` may be
None. If `a_min` or `a_max` are array_like, then the three
arrays will be broadcasted to match their shapes.
out : ndarray, 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.
**kwargs
For other keyword-only arguments, see the
:ref:`ufunc docs <ufuncs.kwargs>`.
.. versionadded:: 1.17.0
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