Open In App

How to Remove columns 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 columns 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, np.nan],
                  [41, 52.5, np.nan]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all columns containing non-numeric elements ")
print(n_arr[:, ~np.isnan(n_arr).any(axis=0)])


Output:

In the above example, we remove columns 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, 10.5],
                  [41, 52.5, 25],
                  [100, np.nan, 41]])
  
print("Given array:")
print(n_arr)
  
print("\nRemove all columns containing non-numeric elements ")
print(n_arr[:, ~np.isnan(n_arr).any(axis=0)])


Output:

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

Example 3:

Python3




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


Output:

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



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

Similar Reads