How to Remove rows in Numpy array that contains non-numeric values?
Last Updated :
25 Oct, 2020
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
import numpy as np
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
import numpy as np
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
import numpy as np
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
Share your thoughts in the comments
Please Login to comment...