在 NumPy 中測試陣列值是否為 NaN 並將結果儲存到新位置


要測試陣列值是否為 NaN,請在 Python NumPy 中使用 **numpy.isnan()** 方法。我們將儲存結果的新位置是一個新陣列。在 x 為 NaN 的位置返回 True,否則返回 false。如果 x 是標量,則這是一個標量。條件在輸入上廣播。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設的 out=None 建立了一個未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。

NumPy 使用 IEEE 標準用於二進位制浮點數算術 (IEEE 754)。這意味著“非數字”不等於無窮大。

步驟

首先,匯入所需的庫 -

import numpy as np

建立一個包含一些 NaN 值的陣列 -

arr = np.array([1, 2, 10, 50, -np.nan, 0., np.nan, np.inf])

顯示陣列 -

print("Array...
", arr)

獲取陣列的型別 -

print("
Our Array type...
", arr.dtype)

獲取陣列的維度 -

print("
Our Array Dimensions...
",arr.ndim)

獲取陣列中的元素數量 -

print("
Number of elements...
", arr.size)

建立另一個具有相同形狀的陣列以儲存結果 -

arrRes = np.array([5, 5, 5, 5, 5, 5, 5, 5])

要測試陣列值是否為 NaN,請在 Python NumPy 中使用 numpy.isnan() 方法。我們將儲存結果的新位置是 arrRes -

print("
Test array for NaN...
",np.isnan(arr, arrRes))

檢查儲存我們結果的新陣列的值 -

print("
Result...
",arrRes)

示例

import numpy as np

# Create an array with some NaN values
arr = np.array([1, 2, 10, 50, -np.nan, 0., np.nan, np.inf])

# Display the array
print("Array...
", arr) # Get the type of the array print("
Our Array type...
", arr.dtype) # Get the dimensions of the Array print("
Our Array Dimensions...
",arr.ndim) # Get the number of elements in the Array print("
Number of elements...
", arr.size) # Create another array with the same shape to store the result arrRes = np.array([5, 5, 5, 5, 5, 5, 5, 5]) # To test array values for NaN, use the numpy.isnan() method in Python Numpy # The new location where we will store the result is arrRes print("
Test array for NaN...
",np.isnan(arr, arrRes)) # Check the value of the new array where our result is stored print("
Result...
",arrRes)

輸出

Array...
[ 1. 2. 10. 50. nan 0. nan inf]

Our Array type...
float64

Our Array Dimensions...
1

Number of elements...
8

Test array for NaN...
[0 0 0 0 1 0 1 0]

Result...
[0 0 0 0 1 0 1 0]

更新於: 2022-02-08

170 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.