Home » 
        Python » 
        Python Programs
    
    
    How to remove zero lines from 2-D NumPy array?
    
    
    
    
	    Given a 2D NumPy array, we have to remove zero lines from it.
	    
		    By Pranit Sharma Last updated : December 27, 2023
	    
    
    
    Problem statement
    Suppose that we are given a 2D array having pivoted zero-lines at the bottom and we need to split this numpy array in such a way that it divides into two parts; one contains the upper rows that contain non-zero rows and the other contains the zero-lined row.
    
    Removing zero lines from 2-D NumPy array
    To remove zero lines from 2-D NumPy array, we can use numpy.all() with an axis argument. We can use this function with indexing the array where we can get the row of zero elements and a row of non-zero with the help of ~ on numpy.all().
    Let us understand with the help of an example,
    
    Python program to remove zero lines from 2-D NumPy array
# Import numpy
import numpy as np
# Creating a numpy array
arr = np.array([[ 1.41421356,0.70710678,0.70710678],[ 0.,1.22474487,1.22474487],[ 0.,0.,0.]])
# Display original data
print("Original data:\n",arr,"\n")
# Removing zero line
res = arr[~np.all(arr == 0, axis=1)]
# Dispay result
print("Result:\n",res,"\n")
# Getting zero line separately
res = arr[np.all(arr == 0, axis=1)]
# Dispay result
print("Result:\n",res,"\n")
    Output
    The output of the above program is:
     
    In this example, we have used the following Python basic topics that you should learn:
    
    Python NumPy Programs »
    
    
    
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement