numpy.fmax#
- numpy.fmax(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'fmax'>#
陣列元素的逐元素最大值。
比較兩個陣列並返回一個新陣列,其中包含逐元素最大值。 如果要比較的元素之一是 NaN,則返回非 NaN 元素。 如果兩個元素都是 NaN,則返回第一個。 後者的區別對於複數 NaN 很重要,複數 NaN 定義為實部或虛部至少有一個是 NaN。 最終效果是在可能的情況下忽略 NaN。
- 參數:
- x1, x2陣列型物件
包含要比較元素的陣列。 如果
x1.shape != x2.shape
,它們必須可廣播到一個共同形狀(這將成為輸出的形狀)。- outndarray、None 或 ndarray 和 None 的元組,可選
儲存結果的位置。 如果提供,則它必須具有輸入廣播到的形狀。 如果未提供或為 None,則返回新分配的陣列。 元組(僅可作為關鍵字參數)的長度必須等於輸出的數量。
- where陣列型物件,可選
此條件會廣播到輸入。 在條件為 True 的位置,out 陣列將設定為 ufunc 結果。 在其他位置,out 陣列將保留其原始值。 請注意,如果通過預設
out=None
建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。- **kwargs
有關其他僅限關鍵字參數,請參閱 ufunc 文檔。
- 返回值:
- yndarray 或 純量
x1 和 x2 的逐元素最大值。 如果 x1 和 x2 都是純量,則這是一個純量。
參見
註解
當 x1 和 x2 都不是 NaN 時,fmax 等效於
np.where(x1 >= x2, x1, x2)
,但它更快並且可以正確廣播。範例
>>> import numpy as np >>> np.fmax([2, 3, 4], [1, 5, 2]) array([ 2, 5, 4])
>>> np.fmax(np.eye(2), [0.5, 2]) array([[ 1. , 2. ], [ 0.5, 2. ]])
>>> np.fmax([np.nan, 0, np.nan],[0, np.nan, np.nan]) array([ 0., 0., nan])