¿Cómo eliminar columnas 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 columnas 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, 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)])

Producción:

En el ejemplo anterior, eliminamos las columnas que contienen 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, 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)])

Producción:

En el ejemplo anterior, eliminamos las columnas que contienen valores no numéricos de la array 3X3 Numpy .

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

Producción:

En el ejemplo anterior, eliminamos las columnas que contienen valores no numéricos de la array 5X3 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 *