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