📜  Python|检查numpy中的所有值是否为零

📅  最后修改于: 2022-05-13 01:55:13.495000             🧑  作者: Mango

Python|检查numpy中的所有值是否为零

给定一个 numpy 数组,任务是检查 numpy 数组是否包含全零。让我们讨论解决上述任务的几种方法。

方法 #1:使用numpy.count_nonzero()获取零的计数

Python3
# Python code to demonstrate
# to count the number of elements
# in numpy which are zero
  
import numpy as np
  
ini_array1 = np.array([1, 2, 3, 4, 5, 6, 0])
ini_array2 = np.array([0, 0, 0, 0, 0, 0])
  
# printing initial arrays
print("initial arrays", ini_array1)
print(ini_array2)
  
# code to find whether all elements are zero
countzero_in1 = np.count_nonzero(ini_array1)
countzero_in2 = np.count_nonzero(ini_array2)
  
# printing result
print("Number of non-zeroes in array1 : ", countzero_in1)
print("Number of non-zeroes in array2 : ", countzero_in2)


Python3
# Python code to check that whether
# all elements in numpy are zero
  
import numpy as np
  
ini_array1 = np.array([1, 2, 3, 4, 5, 6, 0])
ini_array2 = np.array([0, 0, 0, 0, 0, 0])
  
# printing initial arrays
print("initial arrays", ini_array1)
  
# code to find whether all elements are zero
countzero_in1 = not np.any(ini_array1)
countzero_in2 = not np.any(ini_array2)
  
# printing result
print("Whole array contains zeroes in array1 ?: ", countzero_in1)
print("Whole array contains zeroes in array2 ?: ", countzero_in2)


输出:
initial arrays [1 2 3 4 5 6 0]
[0 0 0 0 0 0]
Number of non-zeroes in array1 :  6
Number of non-zeroes in array2 :  0


方法 #2:使用numpy.any()

Python3

# Python code to check that whether
# all elements in numpy are zero
  
import numpy as np
  
ini_array1 = np.array([1, 2, 3, 4, 5, 6, 0])
ini_array2 = np.array([0, 0, 0, 0, 0, 0])
  
# printing initial arrays
print("initial arrays", ini_array1)
  
# code to find whether all elements are zero
countzero_in1 = not np.any(ini_array1)
countzero_in2 = not np.any(ini_array2)
  
# printing result
print("Whole array contains zeroes in array1 ?: ", countzero_in1)
print("Whole array contains zeroes in array2 ?: ", countzero_in2)
输出:
initial arrays [1 2 3 4 5 6 0]
Whole array contains zeroes in array1 ?:  False
Whole array contains zeroes in array2 ?:  True