NumPy函数clip()用于保留数组中在间隔范围内的值。给定一个范围,范围外的值将剪裁到范围边界。例如,如果指定的范围为[0,1]
,则小于0的值变为0,大于1的值变为1。
clip(a, a_min, a_max, out=None, **kwargs)
其中参数:
函数返回值:
NumPy数组,维度与a相同,数组a不会被改变。
具体例子如下:
例一:
输入:
a = np.arange(10)
输入:
np.clip(a, 1, 8)
输出:
array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8])
输入:
a
输出:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
例二:
输入:
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会改变为剪裁后的数组
例三:
输入:
a = np.arange(10)
输入:
np.clip(a, [2, 4, 6, 1, 1, 4, 4, 4, 4, 4], 8)
输出:
np.clip(a, [2, 4, 6, 1, 1, 4, 4, 4, 4, 4], 8)
最小值数组表示a中对应元素的最小值,例如a中的第一个数值对应的最小值是2,最大值是8。最小值和最大值参数可以同时为数组,如下例:
例四:
输入:
np.clip(a, [2, 4, 3, 1, 1, 4, 4, 4, 4, 4], [9, 7, 6, 5, 5, 8, 9, 7, 8, 6])
输出:
array([2, 4, 3, 3, 4, 5, 6, 7, 8, 6])
此时a中的第一个数值对应的最小值是2,最大值是9。