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 文件。
- 返回:
- 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])