numpy clip 用法及代码示例

用法:
numpy.clip(a, a_min, a_max, out=None, **kwargs)
裁剪(限制)数组中的值。

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

相当于但比np.maximum(a_min, np.minimum(a, a_max))。不执行检查以确保a_min < a_max。

描述
参数 a: : array_like

包含要裁剪的元素的数组。
a_min: : scalar 或 array_like 或 None

最小值。如果为“无”,则不会在较低间隔的边执行裁剪。 a_min和a_max中最多一个可以为None。
a_max: : scalar 或 array_like 或 None

最大值。如果为无,则不会在间隔的上限边执行剪切。 a_min和a_max中最多一个可以为None。如果a_min或a_max是数组,则将广播这三个数组以匹配其形状。
out: : ndarray, 可选参数

结果将放置在此数组中。它可能是就地剪切的输入数组。输出必须具有正确的形状以容纳输出。其类型被保留。
**kwargs:

有关其他仅关键字的参数,请参见ufunc文档。

1.17.0版中的新功能。

返回值 clipped_array: : ndarray

包含a元素的数组,但将<a_min值替换为a_min,将那些> a_max替换为a_max。

例子:

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

发表回复

登录... 后才能评论