numpy.min#
- numpy.min(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)[原始碼]#
傳回陣列的最小值或沿軸的最小值。
- 參數:
- a類陣列
輸入資料。
- axisNone 或 int 或 int 元組,選填
要沿其運算的軸或多個軸。預設情況下,使用展平後的輸入。
如果這是整數元組,則會在多個軸上選擇最小值,而不是像以前那樣在單個軸或所有軸上選擇。
- outndarray,選填
放置結果的替代輸出陣列。必須與預期輸出的形狀和緩衝區長度相同。有關更多詳細資訊,請參閱輸出類型判斷。
- keepdimsbool,選填
如果設定為 True,則縮減的軸將保留在結果中,作為大小為 1 的維度。使用此選項,結果將針對輸入陣列正確廣播。
如果傳遞預設值,則 keepdims 將不會傳遞給
min
的ndarray
子類別的方法,但是任何非預設值都會傳遞。如果子類別的方法未實作 keepdims,則會引發任何例外。- initial純量,選填
輸出元素的最大值。必須存在才能允許對空切片進行計算。有關詳細資訊,請參閱
reduce
。- wherebool 類陣列,選填
要比較最小值的元素。有關詳細資訊,請參閱
reduce
。
- 傳回值:
- minndarray 或純量
a 的最小值。如果 axis 為 None,則結果為純量值。如果 axis 是整數,則結果是維度為
a.ndim - 1
的陣列。如果 axis 是元組,則結果是維度為a.ndim - len(axis)
的陣列。
另請參閱
註解
NaN 值會被傳播,也就是說,如果至少有一個項目是 NaN,則對應的最小值也將為 NaN。若要忽略 NaN 值(MATLAB 行為),請使用 nanmin。
請勿使用
min
進行 2 個陣列的逐元素比較;當a.shape[0]
為 2 時,minimum(a[0], a[1])
比min(a, axis=0)
更快。範例
>>> import numpy as np >>> a = np.arange(4).reshape((2,2)) >>> a array([[0, 1], [2, 3]]) >>> np.min(a) # Minimum of the flattened array 0 >>> np.min(a, axis=0) # Minima along the first axis array([0, 1]) >>> np.min(a, axis=1) # Minima along the second axis array([0, 2]) >>> np.min(a, where=[False, True], initial=10, axis=0) array([10, 1])
>>> b = np.arange(5, dtype=float) >>> b[2] = np.nan >>> np.min(b) np.float64(nan) >>> np.min(b, where=~np.isnan(b), initial=10) 0.0 >>> np.nanmin(b) 0.0
>>> np.min([[-50], [10]], axis=-1, initial=0) array([-50, 0])
請注意,初始值被用作確定最小值的元素之一,這與預設引數 Python 的 max 函數不同,後者僅用於空的可迭代物件。
請注意,這與 Python 的
default
引數不同。>>> np.min([6], initial=5) 5 >>> min([6], default=5) 6