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) 的陣列。

另請參閱

amin

沿給定軸的陣列最小值,傳播任何 NaN。

nanmax

沿給定軸的陣列最大值,忽略任何 NaN。

maximum

兩個陣列的逐元素最大值,傳播任何 NaN。

fmax

兩個陣列的逐元素最大值,忽略任何 NaN。

argmax

傳回最大值的索引。

nanminminimumfmin

註解

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