NumPy Np.Argwhere()

NumPy Np.Argwhere()

En el mundo de la programación, trabajar con datos es uno de los principales objetivos de muchos programadores. Por suerte, el paquete de NumPy en Python proporciona una gran cantidad de funciones para trabajar con datos de manera más fácil y rápida. En este artículo hablaremos sobre NumPy Np.Argwhere(), una función muy útil para obtener las posiciones de los elementos que cumplen una condición en un array. Con esta herramienta, podrás ahorrar mucho tiempo en la manipulación de datos.

📋 Aquí podrás encontrar✍
  1. Sintaxis
  2. Usos
    1. Ejemplo 1: Buscar la posición de los elementos mayores que 5
    2. Ejemplo 2: Buscar la posición de los elementos iguales a un valor determinado
    3. Ejemplo 3: Buscar la posición de los elementos que pertenecen a un rango determinado
  3. Ejemplos de código
    1. Ejemplo 1: Buscar la posición de los valores máximos y mínimos en un array
    2. Ejemplo 2: Sumar los elementos de un array que cumplen una condición
    3. Ejemplo 3: Obtener una submatriz a partir de las posiciones de los elementos
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿En qué versión de NumPy se introdujo la función Np.Argwhere()?
    2. ¿Cuál es la diferencia entre Np.Argwhere() y Np.Where()?
    3. ¿Es posible utilizar Np.Argwhere() en matrices en vez de arrays?
    4. ¿Es posible utilizar condiciones complejas en Np.Argwhere()?

Sintaxis

La sintaxis básica de la función NumPy Np.Argwhere() es la siguiente:

numpy.argwhere(array)

El parámetro array es el array en el que quieres buscar las posiciones de los elementos que cumplen una determinada condición.

Usos

La función NumPy Np.Argwhere() se utiliza principalmente para encontrar las posiciones de los elementos que cumplen una determinada condición. Veamos algunos ejemplos:

Ejemplo 1: Buscar la posición de los elementos mayores que 5

Supongamos que tenemos el siguiente array:

array = np.array([3, 6, 9, 2, 4, 8, 1, 5, 7])

Si queremos encontrar las posiciones de los elementos que son mayores que 5, podemos utilizar la función NumPy Np.Argwhere() de la siguiente manera:

np.argwhere(array > 5)

La salida sería:

array([[1], [2], [5], [8]])

Esto significa que los elementos que cumplen la condición de ser mayores que 5 están en las posiciones 1, 2, 5 y 8 del array original.

Ejemplo 2: Buscar la posición de los elementos iguales a un valor determinado

Supongamos que tenemos el siguiente array:

array = np.array([5, 3, 7, 2, 8, 5, 4, 1, 7])

Si queremos encontrar las posiciones de los elementos que son iguales a 5, podemos utilizar la función NumPy Np.Argwhere() de la siguiente manera:

np.argwhere(array == 5)

La salida sería:

array([[0], [5]])

Esto significa que los elementos que cumplen la condición de ser iguales a 5 están en las posiciones 0 y 5 del array original.

Ejemplo 3: Buscar la posición de los elementos que pertenecen a un rango determinado

Supongamos que tenemos el siguiente array:

array = np.array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20])

Si queremos encontrar las posiciones de los elementos que pertenecen al rango de 6 a 14, podemos utilizar la función NumPy Np.Argwhere() de la siguiente manera:

np.argwhere(np.logical_and(array >= 6, array <= 14))

La salida sería:

array([[2], [3], [4], [5], [6], [7]])

Esto significa que los elementos que cumplen la condición de pertenecer al rango de 6 a 14 están en las posiciones 2, 3, 4, 5, 6 y 7 del array original.

Ejemplos de código

En esta sección veremos algunos ejemplos de código para trabajar con la función NumPy Np.Argwhere().

Ejemplo 1: Buscar la posición de los valores máximos y mínimos en un array

Supongamos que tenemos el siguiente array:

array = np.array([5, 3, 7, 2, 8, 5, 4, 1, 7])

Si queremos encontrar las posiciones de los valores máximo y mínimo del array, podemos hacer lo siguiente:

max_num = np.amax(array)
min_num = np.amin(array)
max_pos = np.argwhere(array == max_num)
min_pos = np.argwhere(array == min_num)

Con este código, obtenemos las posiciones de los valores máximo y mínimo del array.

Ejemplo 2: Sumar los elementos de un array que cumplen una condición

Supongamos que tenemos el siguiente array:

array = np.array([3, 6, 9, 2, 4, 8, 1, 5, 7])

Si queremos sumar los elementos del array que son mayores que 5, podemos hacer lo siguiente:

sum = np.sum(array[np.argwhere(array > 5)])

Con este código, obtenemos la suma de los elementos que son mayores que 5 en el array.

Ejemplo 3: Obtener una submatriz a partir de las posiciones de los elementos

Supongamos que tenemos la siguiente matriz:

matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

Si queremos obtener una submatriz que contenga únicamente los elementos que se encuentran en las posiciones (0, 0), (1, 1) y (2, 0), podemos hacer lo siguiente:

sub_matrix = matrix[np.ix_([0, 1, 2], [0, 1, 0])]

Con este código, obtenemos la submatriz que cumplen con las posiciones especificadas.

Conclusión

NumPy Np.Argwhere() es una función muy útil para encontrar las posiciones de los elementos que cumplen una determinada condición en un array. Nos permite ahorrar mucho tiempo y esfuerzo en la manipulación de datos, lo cual es esencial en el mundo de la programación. Si quieres aprender más sobre la programación en Python y el paquete de NumPy, te recomendamos seguir aprendiendo en nuestra plataforma.

Preguntas frecuentes

¿En qué versión de NumPy se introdujo la función Np.Argwhere()?

La función Np.Argwhere() se introdujo en la versión 1.4.0 de NumPy.

¿Cuál es la diferencia entre Np.Argwhere() y Np.Where()?

La función Np.Argwhere() devuelve las posiciones de los elementos que cumplen una determinada condición en un array, mientras que Np.Where() devuelve los elementos que cumplen una determinada condición en un array.

¿Es posible utilizar Np.Argwhere() en matrices en vez de arrays?

Sí, es posible utilizar Np.Argwhere() en matrices y en otros tipos de estructuras de datos de NumPy que permitan el uso de esta función.

¿Es posible utilizar condiciones complejas en Np.Argwhere()?

Sí, es posible utilizar condiciones complejas en Np.Argwhere() utilizando los operadores lógicos (&& para "and" y || para "or") y los operadores de comparación de NumPy (>, <, ==, >=, <=, etc.).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir