Open In App

How to Remove rows in Numpy array that contains non-numeric values?

Last Updated : 25 Oct, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Many times we have non-numeric values in NumPy array. These values need to be removed, so that array will be free from all these unnecessary values and look more decent. It is possible to remove all rows containing Nan values using the Bitwise NOT operator and np.isnan() function.

Example 1:

Python3




# Importing Numpy module
import numpy as np
  
# Creating 2X3 2-D Numpy array
n_arr = np.array([[10.5, 22.5, 3.8],
                  [41, np.nan, np.nan]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all rows containing non-numeric elements")
print(n_arr[~np.isnan(n_arr).any(axis=1)])


Output:

In the above example, we remove row containing non-numeric values from the 2X3 Numpy array.

Example 2:

Python3




# Importing Numpy module 
import numpy as np
  
# Creating 3X3 2-D Numpy array
n_arr = np.array([[10.5, 22.5, 3.8], 
                  [23.45, 50, 78.7],
                  [41, np.nan, np.nan]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all rows containing non-numeric elements")
print(n_arr[~np.isnan(n_arr).any(axis=1)])


Output:

In the above example, we remove row containing non-numeric values from the 3X3 Numpy array.

Example 3:

Python3




# Importing Numpy module
import numpy as np
  
# Creating 5X4 2-D Numpy array
n_arr = np.array([[10.5, 22.5, 3.8, 5],
                  [23.45, 50, 78.7, 3.5],
                  [41, np.nan, np.nan, 0],
                  [20, 50.20, np.nan, 2.5],
                  [18.8, 50.60, 8.8, 58.6]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all rows containing non-numeric elements")
print(n_arr[~np.isnan(n_arr).any(axis=1)])


Output:

In the above example, we remove rows containing non-numeric values from the 5X4 Numpy array.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads