numpy.clip#
- numpy.clip(a, a_min=<no value>, a_max=<no value>, out=None, *, min=<no value>, max=<no value>, **kwargs)[原始碼]#
限制(clip)陣列中的數值。
給定一個區間,區間外的數值會被限制在區間邊緣。例如,如果指定區間 [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_arrayndarray
一個包含 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])