numpy.clip #

麻木的。剪辑( a , a_min , a_max , out = None , ** kwargs ) [来源] #

剪辑(限制)数组中的值。

给定一个区间,区间之外的值将被剪裁到区间边缘。例如,如果指定间隔 ,则小于 0 的值将变为 0,大于 1 的值将变为 1。[0, 1]

相当于但比 更快。np.minimum(a_max, np.maximum(a, a_min))

不执行任何检查来确保。a_min < a_max

参数
类似数组

包含要剪辑的元素的数组。

a_min、a_max array_like 或 None

最小值和最大值。如果None,则不对相应的边进行裁剪。只能是 a_mina_max之一None。两者均针对.

输出ndarray,可选

结果将放置在该数组中。它可能是用于就地剪辑的输入数组。 out必须具有正确的形状才能保存输出。它的类型被保留。

**夸格

对于其他仅关键字参数,请参阅 ufunc 文档

1.17.0 版本中的新增功能。

返回
Clipped_array ndarray

包含a元素的数组,但其中 < a_min 的值替换为a_min,> a_max 的值替换 为a_max

也可以看看

输出类型确定

笔记

a_min大于a_max时,clip返回一个数组,其中所有值都等于a_max,如第二个示例所示。

例子

>>> 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])