返回Python中陣列的最大值,忽略NaN值,並使用負無窮大表示空陣列的情況


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

第二個引數axis是計算最大值的軸或軸集。預設為計算扁平化陣列的最大值。第三個引數out是放置結果的備用輸出陣列。預設為None;如果提供,則其形狀必須與預期輸出相同,但必要時將進行型別轉換。

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

步驟

首先,匯入所需的庫:

import numpy as np

使用array()方法建立一個numpy陣列。我們添加了int型別的元素,包括nan和NINF(負無窮大):

arr = np.array([[25, 50, 75], [90, np.nan, np.NINF]])

顯示陣列:

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

檢查維度:

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

獲取資料型別:

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

在Python中,可以使用numpy.nanmax()方法返回陣列的最大值,忽略任何NaN值。該方法返回一個與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 and NINF (negative infinity)
arr = np.array([[25, 50, 75], [90, np.nan, np.NINF]])

# 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...
[[ 25. 50. 75.]
[ 90. nan -inf]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Result (nanmax)...
90.0

更新於:2022年2月28日

656 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告