¿Cómo usar NumPy where() con múltiples condiciones en Python?

En Python, NumPy tiene una serie de funciones de biblioteca para crear la array y ¿dónde está una de ellas para crear una array a partir de las condiciones satisfechas de otra array? numpy.where()

Sintaxis:

numpy.where(condición[, x, y])

Parámetros:

  • condición: cuando es verdadero, produce x, de lo contrario, produce y.
  • x, y : Valores entre los que elegir. x, y y la condición deben poder transmitirse a alguna forma.

Devuelve: [ndarray o tupla de ndarrays] Si se especifican tanto x como y, la array de salida contiene elementos de x donde la condición es verdadera y elementos de y en cualquier otro lugar.

Si se da la única condición, devuelve la tupla condition.nonzero(), los índices donde la condición es True. En la sintaxis anterior, podemos ver que la función where() puede tomar dos argumentos en los que uno es obligatorio y el otro es opcional. Si el valor de la condición es verdadero, se creará una array basada en los índices.

Ejemplo 1:

Numpy where() con múltiples condiciones usando OR lógico.

Python3

# Import NumPy library
  
import numpy as np
  
# Create an array using the list
  
np_arr1 = np.array([23, 11, 45, 43, 60, 18, 
                    33, 71, 52, 38])
print("The values of the input array :\n", np_arr1)
  
  
# Create another array based on the 
# multiple conditions and one array
new_arr1 = np.where((np_arr1))
  
# Print the new array
print("The filtered values of the array :\n", new_arr1)
  
# Create an array using range values
np_arr2 = np.arange(40, 50)
  
# Create another array based on the 
# multiple conditions and two arrays
new_arr2 = np.where((np_arr1), np_arr1, np_arr2)
  
# Print the new array
print("The filtered values of the array :\n", new_arr2)

Producción:

Ejemplo 2:

Numpy where() con múltiples condiciones usando AND lógico.

Python3

# Import NumPy library
  
import numpy as np
  
# Create two arrays of random values
np_arr1 = np.random.rand(10)*100
np_arr2 = np.random.rand(10)*100
  
  
# Print the array values
print("\nThe values of the first array :\n", np_arr1)
print("\nThe values of the second array :\n", np_arr2)
  
  
# Create a new array based on the conditions
new_arr = np.where((np_arr1), np_arr1, np_arr2)
  
# Print the new array
print("\nThe filtered values of both arrays :\n", new_arr)

Producción:

Ejemplo 3:

Numpy where() con múltiples condiciones en múltiples arrays dimensionales.

Python3

# Import NumPy library
  
import numpy as np
  
# Create two multidimensional arrays of 
# integer values
np_arr1 = np.array([[6, 13, 22, 7, 12],  
                    [7, 11, 16, 32, 9]])
np_arr2 = np.array([[44, 20, 8, 35, 10],  
                    [98, 23, 42, 6, 13]])
  
# Print the array values
print("\nThe values of the first array :\n", np_arr1)
print("\nThe values of the second array :\n", np_arr2)
  
# Create a new array from two arrays based on
# the conditions
new_arr = np.where(((np_arr1 % 2 == 0) & (np_arr2 % 2 == 1)), 
                   np_arr1, np_arr2)
  
# Print the new array
print("\nThe filtered values of both arrays :\n", new_arr)

Producción:

Conclusión:

La función where() en NumPy se usa para crear una nueva array a partir de la array existente con múltiples números de condiciones.

Publicación traducida automáticamente

Artículo escrito por kandulasundar3036 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 *