如何檢查給定NumPy陣列的元素是否非零?
有多種方法可以檢查給定NumPy陣列的元素是否非零。以下是一些我們可以應用的常見方法。
使用布林索引
布林索引是NumPy庫中的一種技術,它允許根據布林條件從陣列中選擇特定元素。這將建立一個包含True或False值的布林掩碼,其形狀和大小與布林條件相同。
示例
以下示例演示如何使用布林索引來檢查給定NumPy陣列的元素是否非零。
import numpy as np arr = np.arange(2,20,3) if np.all(arr) >0: print("The given array is Non-zero") else: print("The given array is zero")
輸出
執行以上程式碼後,將生成以下輸出,此輸出確定給定陣列非零。
The given array is Non-zero
示例
讓我們來看另一個布林索引應用於二維陣列的示例。
import numpy as np arr = np.arange(2,20,3).reshape(3,2) print("The original array:",arr) if np.all(arr) > 0: print("The given array is Non-zero") else: print("The given array is zero")
輸出
執行以上程式碼後,布林索引的輸出如下:
The original array: [[ 2 5] [ 8 11] [14 17]] The given array is Non-zero
使用nonzero()函式
在Python中,nonzero()函式用於檢索陣列中非零元素的索引。
示例
以下是nonzero()函式的示例。
import numpy as np arr = np.arange(2,20,3).reshape(3,2) print("The original array:",arr) if np.nonzero(arr): print("The given array is Non-zero") else: print("The given array is zero")
輸出
執行以上程式碼後,將生成以下輸出:
The original array: [[ 2 5] [ 8 11] [14 17]] The given array is Non-zero
示例
讓我們來看另一個使用NumPy庫的nonzero()函式的示例。
import numpy as np arr = np.arange(0,20,2) print("The original array:",arr) non_zero = np.nonzero(arr) print(non_zero)
輸出
nonzero()函式的輸出如下:
The original array: [ 0 2 4 6 8 10 12 14 16 18] (array([1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int64),)
使用np.where()函式
where()是NumPy庫提供的另一個函式,此函式用於檢查給定陣列中的元素是否非零。當使用指定的陣列呼叫時,where()將返回陣列中非零元素的索引。
示例
在下面的示例中,我們將使用where()函式查詢NumPy陣列中非零元素的索引,我們將陣列和值“0”作為引數傳遞給函式,以便檢索索引。
import numpy as np arr = np.array([[[10,30],[2,40.3]],[[56,4],[56,3]]]) print("The Original array:",arr) output = np.where(arr == 0) print(output)
輸出
執行以上程式碼後,將生成以下輸出:
The Original array: [[[10. 30. ] [ 2. 40.3]] [[56. 4. ] [56. 3. ]]] (array([], dtype=int64), array([], dtype=int64), array([], dtype=int64))
示例
讓我們來看另一個使用where()函式檢查給定陣列中是否存在非零元素的示例。
import numpy as np arr = np.array([10,302,4,0.356,4,3,0]) print("The Original array:",arr) output = np.where(arr == 0) print(output)
輸出
執行以上程式碼後,將顯示以下輸出。輸出顯示一個數組,其中包含零元素的索引。
The Original array: [ 10. 302. 4. 0.356 4. 3. 0. ] (array([6], dtype=int64),)
使用numpy.count_nonzero()函式
確定已定義的NumPy陣列中非零元素的另一種方法是使用count_nonzero()函式。此函式返回陣列中存在的非零元素的數量作為輸出。
示例
以下是一個示例。
import numpy as np arr = np.array([10,302,4,0.356,4,3,0]) print("The Original array:",arr) output = np.count_nonzero(arr) print("There is/are",output,"zeroes in the defined array")
輸出
執行以上程式碼後,將生成以下輸出:
The Original array: [ 1 32 4 356 4 3 0] There is/are 6 zeroes in the defined array
廣告