Skip to content
Related Articles
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