Ciencia de los datos

Cómo usar Python NumPy función where () con múltiples condiciones

Cómo usar Python NumPy función where () con múltiples condiciones
La biblioteca NumPy tiene muchas funciones para crear la matriz en python. donde la función () es una de ellas para crear una matriz a partir de otra matriz NumPy basada en una o más condiciones. Algunas operaciones se pueden realizar en el momento de la creación de la matriz según la condición mediante el uso de esta función. También se puede utilizar sin ninguna expresión condicional. En este tutorial se muestra cómo esta función se puede usar con múltiples condiciones en Python.

Sintaxis:

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

donde la función () puede tomar dos argumentos. El primer argumento es obligatorio y el segundo argumento es opcional. Si el valor del primer argumento (condición) es verdadero, entonces la salida contendrá los elementos de la matriz de la matriz, X de lo contrario de la matriz, y. Esta función devolverá los valores de índice de la matriz de entrada si no se utiliza ningún argumento opcional.

Uso de la función where ():

Se pueden usar diferentes tipos de operadores booleanos para definir la condición de esta función. Los usos de la función where a () con múltiples condiciones se muestran en esta parte del tutorial.

Ejemplo -1: Uso de múltiples condiciones con OR lógico

El siguiente ejemplo muestra el uso de la función where () con y sin el argumento opcional. Aquí, el OR lógico se ha utilizado para definir la condición. La primera función where () se ha aplicado en una matriz unidimensional que devolverá la matriz de índices de la matriz de entrada donde la condición devolverá Cierto. La segunda función where () aplicada en dos matrices unidimensionales recuperará los valores de la primera matriz cuando la condición devuelva True. De lo contrario, recuperará los valores de la segunda matriz.

# Importar biblioteca NumPy
importar numpy como np
# Crea una matriz usando la lista
np_array1 = np.matriz ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
print ("Los valores de la matriz de entrada: \ n", np_array1)
# Cree otra matriz basada en las múltiples condiciones y una matriz
new_array1 = np.donde ((np_array1 50))
# Imprime la nueva matriz
print ("Los valores filtrados de la matriz: \ n", new_array1)
# Crea una matriz usando valores de rango
np_array2 = np.naranja (40, 50)
# Cree otra matriz basada en las múltiples condiciones y dos matrices
new_array2 = np.donde ((np_array1 60), np_array1, np_array2)
# Imprime la nueva matriz
print ("Los valores filtrados de la matriz: \ n", new_array2)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. Aquí, la condición ha vuelto Cierto para los valores 23,11,18,33 y 38 de la primera matriz. La condición ha vuelto Falso para los valores 45, 43, 60, 71 y 52. Entonces, se han agregado 42, 43, 44 y 48 de la segunda matriz para los valores 45, 43, 60 y 52. Aquí, 71 está fuera de rango.

Ejemplo -2: Uso de múltiples condiciones con AND lógico

El siguiente ejemplo muestra cómo se puede utilizar la función () con las múltiples condiciones definidas por lógica y aplicadas en dos matrices unidimensionales. Aquí, se han creado dos matrices NumPy unidimensionales utilizando la función rand (). Estas matrices se han utilizado en la función where () con las múltiples condiciones para crear la nueva matriz basada en las condiciones. La condición volverá Cierto cuando el valor de la primera matriz es menor que 40 y el valor de la segunda matriz es mayor que 60. La nueva matriz se imprimió más tarde.

# Importar biblioteca NumPy
importar numpy como np
# Crea dos matrices de valores aleatorios
np_array1 = np.aleatorio.rand (10) * 100
np_array2 = np.aleatorio.rand (10) * 100
# Imprime los valores de la matriz
print ("\ nLos valores de la primera matriz: \ n", np_array1)
print ("\ nLos valores de la segunda matriz: \ n", np_array2)
# Crea una nueva matriz basada en las condiciones
new_array = np.donde ((np_array1 60), np_array1, np_array2)
# Imprime la nueva matriz
print ("\ nLos valores filtrados de ambas matrices: \ n", new_array)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La condición ha vuelto Falso para todos los elementos. Entonces, la matriz devuelta contiene los valores de la segunda matriz solo.

Ejemplo 3: uso de múltiples condiciones en la matriz multidimensional

El siguiente ejemplo muestra cómo se puede utilizar la función () con las múltiples condiciones definidas por lógica Y que se aplicará en dos matrices multidimensionales. Aquí, se han creado dos matrices multidimensionales utilizando listas. A continuación, estas funciones se han aplicado en la función where () para crear la nueva matriz basada en la condición. La condición utilizada en la función volverá Cierto donde el valor de la primera matriz es par y el valor de la segunda matriz es impar; de lo contrario, la condición volverá Falso.

# Importar biblioteca NumPy
importar numpy como np
# Crea dos matrices multidimensionales de valores enteros
np_array1 = np.matriz ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.matriz ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Imprime los valores de la matriz
print ("\ nLos valores de la primera matriz: \ n", np_array1)
print ("\ nLos valores de la segunda matriz: \ n", np_array2)
# Cree una nueva matriz a partir de dos matrices según las condiciones
new_array = np.donde (((np_array1% 2 == 0) & (np_array2% 2 == 1)), np_array1, np_array2)
# Imprime la nueva matriz
print ("\ nLos valores filtrados de ambas matrices: \ n", new_array)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. En la salida, se han agregado 43, 12, 7, 34, 9, 22, 41, 5 y 12 en la nueva matriz de la segunda matriz porque la condición es Falso por estos valores. Los primeros 12 valores de la nueva matriz se han agregado desde la primera matriz porque la condición es Cierto solo por este valor.

Conclusión:

donde la función () de la biblioteca NumPy es útil para filtrar los valores de dos matrices. En este tutorial se ha explicado la creación de una nueva matriz filtrando los datos de dos matrices en función de múltiples condiciones definidas por el operador lógico OR y lógico. Espero que los lectores puedan utilizar esta función en su script correctamente después de practicar los ejemplos de este tutorial.

Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...