¿Cómo eliminar filas en la array Numpy que contiene valores no numéricos?

Muchas veces tenemos valores no numéricos en la array NumPy. Estos valores deben eliminarse, de modo que la array esté libre de todos estos valores innecesarios y se vea más decente. Es posible eliminar todas las filas que contienen valores Nan utilizando el operador NOT bit a bit y la función np.isnan() .

Ejemplo 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)])

Producción:

En el ejemplo anterior, eliminamos la fila que contiene valores no numéricos de la array 2X3 Numpy .

Ejemplo 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)])

Producción:

En el ejemplo anterior, eliminamos la fila que contiene valores no numéricos de la array 3X3 Numpy .

Ejemplo 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)])

Producción:

En el ejemplo anterior, eliminamos las filas que contienen valores no numéricos de la array 5X4 Numpy .

Publicación traducida automáticamente

Artículo escrito por vanshgaur14866 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *