Python | Check if all values in numpy are zero
Last Updated :
13 Mar, 2023
Improve
Given a numpy array, the task is to check whether the numpy array contains all zeroes or not. Let's discuss few ways to solve the above task. Method #1: Getting count of Zeros using numpy.count_nonzero()
# 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)
Output:
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
Time complexity: O(n)
The count_nonzero() function iterates through the entire input array to count the number of non-zero elements.
Auxiliary space complexity: O(1)
The code only uses a constant amount of extra space to store the input arrays and the count of non-zero elements.
Method #2: Using numpy.any()
# 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)
Output:
initial arrays [1 2 3 4 5 6 0] Whole array contains zeroes in array1 ?: False Whole array contains zeroes in array2 ?: True
Method #3: Using numpy.count_nonzero
Check if all values in array are zero using np.count_nonzero()
import numpy as np
# Initialize the numpy arrays
array1 = np.array([1, 2, 3, 4, 5, 6, 0])
array2 = np.array([0, 0, 0, 0, 0, 0])
# Check if all values in array1 are zero
if np.count_nonzero(array1) == 0:
print("Array 1: all values are zero? True")
else:
print("Array 1: all values are zero? False")
# Check if all values in array2 are zero
if np.count_nonzero(array2) == 0:
print("Array 2: all values are zero? True")
else:
print("Array 2: all values are zero? False")
#This code is contributed by Edula Vinay Kumar Reddy
This will give output as:
Array 1: all values are zero? False
Array 2: all values are zero? True