在 Python 中返回陣列的最大值或忽略任何 NaN 的最大值


要返回陣列的最大值或忽略任何 NaN 的最大值,請在 Python 中使用 numpy.nanmax() 方法。該方法返回一個與 a 形狀相同的陣列,並刪除指定的軸。如果 a 是一個 0 維陣列,或者如果 axis 為 None,則返回一個 ndarray 標量。返回與 a 相同的資料型別。第一個引數 a 是一個包含所需最大值的數字陣列。如果 a 不是陣列,則嘗試進行轉換。

第二個引數 axis 是計算最大值的軸或軸。預設情況下,計算扁平化陣列的最大值。第三個引數 out 是一個備用輸出陣列,用於放置結果。預設為 None;如果提供,它必須與預期輸出具有相同的形狀,但如果需要,型別將被強制轉換。

第四個引數 keepdims 如果將其設定為 True,則減少的軸將保留在結果中,作為大小為 1 的維度。使用此選項,結果將針對原始 a 正確廣播。如果該值不是預設值,則 keepdims 將傳遞給 ndarray 子類的 max 方法。如果子類方法沒有實現 keepdims,則會引發任何異常。第五個引數是輸出元素的最小值。必須存在才能允許在空切片上進行計算

步驟

首先,匯入所需的庫 -

import numpy as np

使用 array() 方法建立 NumPy 陣列。我們添加了 int 型別和 nan 元素 -

arr = np.array([[10, 20, 30], [40, np.nan, 60]])

顯示陣列 -

print("Our Array...\n",arr)

檢查維度 -

print("\nDimensions of our Array...\n",arr.ndim)

獲取資料型別 -

print("\nDatatype of our Array object...\n",arr.dtype)

要返回陣列的最大值或忽略任何 NaN 的最大值,請在 Python 中使用 numpy.nanmax() 方法。該方法返回一個與 a 形狀相同的陣列,並刪除指定的軸。如果 a 是一個 0 維陣列,或者如果 axis 為 None,則返回一個 ndarray 標量。返回與 a 相同的資料型別 -

print("\nResult (nanmax)...\n",np.nanmax(arr))

示例

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of int type with nan
arr = np.array([[10, 20, 30], [40, np.nan, 60]])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# To return the maximum of an array or maximum ignoring any NaNs, use the numpy.nanmax() method in Python
print("\nResult (nanmax)...\n",np.nanmax(arr))

輸出

Our Array...
[[10. 20. 30.]
[40. nan 60.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Result (nanmax)...
60.0

更新於: 2022-03-01

2K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告