参考链接: numpy.ndarray.clip
参考链接: numpy.clip(a, a_min, a_max, out=None, **kwargs)
函数功能说明: 将多维数组中的元素取值范围限制再一定的范围内.
代码实验:
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import numpy as np
>>> np.random.seed(seed=20200910)
>>> a = np.random.randint(0,10,(3,5))
>>> a
array([[0, 8, 4, 4, 0],
[9, 6, 6, 3, 8],
[7, 5, 3, 8, 4]])
>>> np.clip(a, 2, 6)
array([[2, 6, 4, 4, 2],
[6, 6, 6, 3, 6],
[6, 5, 3, 6, 4]])
>>> a
array([[0, 8, 4, 4, 0],
[9, 6, 6, 3, 8],
[7, 5, 3, 8, 4]])
>>>
>>> np.clip(a, 3, 6, out=a)
array([[3, 6, 4, 4, 3],
[6, 6, 6, 3, 6],
[6, 5, 3, 6, 4]])
>>> a
array([[3, 6, 4, 4, 3],
[6, 6, 6, 3, 6],
[6, 5, 3, 6, 4]])
>>>
>>> np.random.seed(seed=20200910)
>>> a = np.random.randn(3,5)
>>> a
array([[ 0.12623007, 0.56616119, 0.72780637, -0.19852579, -0.63707299],
[-0.32897011, -1.4146631 , -0.04081202, 0.04607789, -2.97790223],
[ 0.72168288, -0.64314785, -0.01423725, -0.29393679, 0.82269532]])
>>> np.clip(a, -0.8, 0.6)
array([[ 0.12623007, 0.56616119, 0.6 , -0.19852579, -0.63707299],
[-0.32897011, -0.8 , -0.04081202, 0.04607789, -0.8 ],
[ 0.6 , -0.64314785, -0.01423725, -0.29393679, 0.6 ]])
>>> a
array([[ 0.12623007, 0.56616119, 0.72780637, -0.19852579, -0.63707299],
[-0.32897011, -1.4146631 , -0.04081202, 0.04607789, -2.97790223],
[ 0.72168288, -0.64314785, -0.01423725, -0.29393679, 0.82269532]])
>>>
>>>
>>>
>>>