Cómo usar Python Numpy donde funcione con múltiples condiciones

Cómo usar Python Numpy donde funcione con múltiples condiciones
La biblioteca Numpy tiene muchas funciones para crear la matriz en Python. donde () función es una de ellas para crear una matriz de otra matriz numpy basada en una o más condiciones. Algunas operaciones se pueden realizar en el momento de la creación de matriz en función de la condición utilizando esta función. Se puede usar sin ninguna expresión condicional también. La forma en que esta función se puede usar con múltiples condiciones en Python se muestra en este tutorial.

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 donde una función () con múltiples condiciones se muestra en esta parte del tutorial.

Ejemplo -1: uso de múltiples condiciones con lógico o

El siguiente ejemplo muestra el uso de la función where () con y sin el argumento opcional. Aquí, lo lógico o ha usado para definir la condición. La primera función donde () se ha aplicado en una matriz unidimensional que devolverá la matriz de índices de la matriz de entrada donde la condición volverá Verdadero. La segunda función donde () se ha aplicado en dos matrices unidimensionales recuperará los valores de la primera matriz cuando la condición devolverá verdadero. 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.Array ([23, 11, 45, 43, 60, 18, 33, 71, 52, 38])
Imprimir ("Los valores de la matriz de entrada: \ n", np_array1)
# Crear otra matriz basada en las múltiples condiciones y una matriz
new_array1 = np.donde ((np_array1 50))
# Imprimir la nueva matriz
Imprimir ("Los valores filtrados de la matriz: \ n", new_array1)
# Crear una matriz utilizando valores de rango
np_array2 = np.Arange (40, 50)
# Crear otra matriz basada en las múltiples condiciones y dos matrices
new_array2 = np.donde ((np_array1 60), np_array1, np_array2)
# Imprimir la nueva matriz
Imprimir ("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 regresado Verdadero para los valores 23,11,18,33 y 38 de la primera matriz. La condición ha regresado FALSO Para los valores 45, 43, 60, 71 y 52. Entonces, 42, 43, 44 y 48 se han agregado desde 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 lógico y

El siguiente ejemplo muestra cómo la función () se puede usar con las múltiples condiciones definidas por lógicas 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 en función de las condiciones. La condición volverá Verdadero Cuando el valor de la primera matriz es inferior a 40 y el valor de la segunda matriz es mayor que 60. La nueva matriz se ha impreso más tarde.

# Importar biblioteca numpy
importar numpy como np
# Crear dos matrices de valores aleatorios
np_array1 = np.aleatorio.rand (10)*100
np_array2 = np.aleatorio.rand (10)*100
# Imprima los valores de la matriz
imprimir ("\ nthe valores de la primera matriz: \ n", np_array1)
imprimir ("\ nthe valores de la segunda matriz: \ n", np_array2)
# Crear una nueva matriz basada en las condiciones
new_array = np.donde ((np_array1 60), np_array1, np_array2)
# Imprimir la nueva matriz
imprimir ("\ nthe 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 regresado FALSO para todos los elementos. Entonces, la matriz devuelta contiene los valores de la segunda matriz.

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

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

# Importar biblioteca numpy
importar numpy como np
# Crear dos matrices multidimensionales de valores enteros
np_array1 = np.Array ([[5, 12, 21, 6, 11], [6, 10, 15, 31, 8]])
np_array2 = np.Array ([[43, 19, 7, 34, 9], [99, 22, 41, 5, 12]])
# Imprima los valores de la matriz
imprimir ("\ nthe valores de la primera matriz: \ n", np_array1)
imprimir ("\ nthe valores de la segunda matriz: \ n", np_array2)
# Crear una nueva matriz a partir de dos matrices basadas en las condiciones
new_array = np.donde (((np_array1 % 2 == 0) y (np_array2 % 2 == 1)), np_array1, np_array2)
# Imprimir la nueva matriz
imprimir ("\ nthe valores filtrados de ambas matrices: \ n", new_array)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. En la salida, 43, 12, 7, 34, 9, 22, 41, 5 y 12 han agregado en la nueva matriz desde la segunda matriz porque la condición es FALSO Para estos valores. El primer valor de 12 en la nueva matriz ha agregado desde la primera matriz porque la condición es Verdadero Solo para este valor.

Conclusión:

donde la función () de la biblioteca numpy es útil para filtrar los valores de dos matrices. Creación de una nueva matriz filtrando los datos de dos matrices basadas en múltiples condiciones definidas por lógicas o lógicas y se ha explicado en este tutorial. Espero que los lectores puedan usar esta función en su script correctamente después de practicar los ejemplos de este tutorial.