Reemplace los elementos de la array NumPy que no satisfacen la condición dada

A veces, en la array Numpy, queremos aplicar ciertas condiciones para filtrar algunos valores y luego reemplazarlos o eliminarlos. Las condiciones pueden ser si ciertos valores son mayores o menores que una constante en particular, luego reemplace todos esos valores por algún otro número.

Para esto, podemos usar operadores relacionales como ‘>’, ‘<‘, etc. y otras funciones como numpy.where().

Método 1: usar operadores relacionales

Ejemplo 1: en array 1-D Numpy

Python3

# Importing Numpy module
import numpy as np
  
# Creating a 1-D Numpy array
n_arr = np.array([75.42436315, 42.48558583, 60.32924763])
print("Given array:")
print(n_arr)
  
print("\nReplace all elements of array which are greater than 50. to 15.50")
n_arr[n_arr > 50.] = 15.50
  
print("New array :\n")
print(n_arr)

Producción:

En la pregunta anterior, reemplazamos todos los valores mayores de 50 con 15.50 en la array 1-D Numpy.

Ejemplo 2(A): en array 2-D Numpy

Python3

# Importing Numpy module
import numpy as np
  
# Creating a 2-D Numpy array
n_arr = np.array([[45.42436315, 52.48558583, 10.32924763],
                  [5.7439979, 50.58220701, 25.38213418]])
print("Given array:")
print(n_arr)
  
print("\nReplace all elements of array which are greater than 30. to 5.25")
n_arr[n_arr > 30.] = 5.25
  
print("New array :\n")
print(n_arr)

Producción:

En la pregunta anterior, reemplazamos todos los valores mayores de 30 con 5.25 en la array 2-D Numpy.

Ejemplo 3: en array 3-D Numpy

Python3

# Importing Numpy module
import numpy as np
  
# Creating a 3-D Numpy array
n_arr = np.array([[[11, 25.5, 70.6], [30.9, 45.5, 55.9], [20.7, 45.8, 7.1]],
                  [[50.1, 65.9, 8.2], [70.4, 85.8, 10.3], [11.3, 22.2, 33.6]],
                  [[19.9, 69.7, 36.8], [1.2, 5.1, 24.4], [4.9, 20.8, 96.7]]])
  
print("Given array:")
print(n_arr)
  
print("\nReplace all elements of array which are less than 10 to Nan")
n_arr[n_arr < 10.] = np.nan
  
print("New array :\n")
print(n_arr)

Producción:

En la pregunta anterior, reemplazamos todos los valores menores de 10 con Nan en la array 3-D Numpy.

Método 2: Usar numpy.where()

Ejemplo 1: 

Python3

# Importing Numpy module
import numpy as np
  
# Creating a 2-D Numpy array
n_arr = np.array([[45, 52, 10],
                  [1, 5, 25]])
  
print("Given array:")
print(n_arr)
  
print("\nReplace all elements of array which are \
greater than or equal to 25 to 0")
  
print("else remains the same ")
print(np.where(n_arr >= 25, 0, n_arr))

Producción:

En la pregunta anterior, reemplazamos todos los valores mayores o iguales a 25 con 0, de lo contrario permanece igual.

Ejemplo 2:

Python3

# Importing Numpy module
import numpy as np
  
# Creating a 2-D Numpy array
n_arr = np.array([[45, 52, 10],
                  [1, 5, 25],
                  [50, 40, 81]])
  
print("Given array:")
print(n_arr)
  
print("\nReplace all elements of array which are \
less than or equal to 25 with Nan")
  
print("else with 1 ")
print(np.where(n_arr <= 25, np.nan, 1))

Producción: 

En la pregunta anterior, reemplazamos todos los valores menores o iguales a 25 con Nan, de lo contrario con 1.

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 *