Skip to content
Related Articles

Related Articles

Improve Article
How to remove array rows that contain only 0 using NumPy?
  • Last Updated : 25 Feb, 2021

Numpy library provides a function called numpy.all() that returns True when all elements of n-d array passed to the first parameter are True else it returns False. Thus, to determine the entire row containing 0’s can be removed by specifying axis=1. It will traverse each row and will check for the condition given in first parameter. 

Example:

data=[[1,2,3]
      [0,0,0]
      [9,8,7]]
After removing row with all zeroes:
data=[[1,2,3]
      [9,8,7]]

Example 1:

Approach Followed:

  • Take a numpy n-d array.
  • Remove rows that contain only zeroes using numpy.all() function.
  • Print the n-d array.

Python3






import numpy as np
# take data
data = np.array([[1, 2, 3], [0, 0, 0], [4, 5, 6],
                 [0, 0, 0], [7, 8, 9], [0, 0, 0]])
# print original data having rows with all zeroes
print("Original Dataset")
print(data)
  
# remove rows having all zeroes
data = data[~np.all(data == 0, axis=1)]
  
# data after removing rows having all zeroes
print("After removing rows")
print(data)

Output:

Example 2:

Approach Followed:

  • Take 20 random numbers between 0-10, using numpy.random.choice() method.
  • Align them in rows and columns, using reshape() method.
  • Explicitly mark some rows as completely 0.
  • Remove rows having all zeroes.
  • Print dataset.

Python3




import numpy as np
# take random data
  
# random.choice(x,y) will pick y elements from range (0,(x-1))
data = np.random.choice(10, 20)
  
# specify the dimensons of data i.e (rows,columns)
data = data.reshape(5, 4)
  
# print original data having rows with all zeroes
print("Original Dataset")
print(data)
  
# make some rows entirely zero
data[1, :] = 0  # making 2nd row entirely 0
data[4, :] = 0  # making last row entirely 0
  
# after making 2nd and 5th row as 0
print("After making some rows as entirely 0")
print(data)
data = data[~np.all(data == 0, axis=1)]
  
# data after removing rows having all zeroes
print("After removing rows")
print(data)

Output:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :