numpy.ma.clip#
- ma.clip = <numpy.ma.core._convert2ma object>#
裁剪(限制)数组中的值.
给定一个区间,区间外的值被裁剪到区间边缘.例如,如果指定区间
[0, 1],则小于 0 的值变为 0,大于 1 的值变为 1.等效于但比
np.minimum(a_max, np.maximum(a, a_min))更快.不执行检查以确保
a_min < a_max.- 参数:
- aarray_like
包含要裁剪的元素的数组.
- a_min, a_maxarray_like 或 None
最小值和最大值.如果
None,则不在相应的边缘执行裁剪.如果a_min和a_max都是None,则返回数组的元素保持不变.两者都针对a进行广播.- outndarray, 可选
结果将放置在此数组中.它可以是用于原地裁剪的输入数组. out 必须具有正确的形状才能容纳输出.其类型被保留.
- min, maxarray_like 或 None
Array API 兼容的
a_min和a_max参数的替代方法. 可以同时传递a_min和a_max或min和max. 默认值:None.在 2.1.0 版本加入.
- \kwargs
对于其他仅限关键字的参数,请参阅 ufunc docs .
- 返回:
- clipped_arrayMaskedArray
一个包含 a 的元素的数组,但是其中 < a_min 的值被替换为 a_min ,而 > a_max 的值被替换为 a_max .
参见
注释
当 a_min 大于 a_max 时,
clip返回一个数组,其中所有值都等于 a_max ,如第二个示例中所示.示例
>>> import numpy as np >>> 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])