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