Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Indexación de Arreglos Enteros | Indexación y Segmentación
Fundamentos de NumPy

bookIndexación de Arreglos Enteros

Desliza para mostrar el menú

Además del indexado básico, donde se utiliza un entero para un solo índice, NumPy también permite utilizar un arreglo unidimensional de enteros completo (también es posible una lista de enteros) para el indexado.

Indexado con arreglos de enteros en arreglos 1D

Cada elemento del arreglo de enteros utilizado para el indexado se trata como un índice, por lo que, por ejemplo, array[[0, 1, 3]] recupera los elementos en los índices 0, 1 y 3 en forma de un arreglo unidimensional, dado que array es un arreglo 1D. También se pueden usar arreglos de NumPy para el indexado, pero esto hace que el código sea más engorroso.

12345678
import numpy as np array = np.array([23, 41, 7, 80, 3]) # Retrieving elements at indices 0, 1 and 3 print(array[[0, 1, 3]]) # Retrieving elements at indices 1, -1 and 2 in this order print(array[[1, -1, 2]]) # IndexError is thrown since index 5 is out of bounds print(array[[2, 5]])
copy

Indexación de arreglos enteros en arreglos 1D

En el caso de arreglos 2D y de mayor dimensión, la indexación con arreglos de enteros funciona igual que en los arreglos 1D a lo largo de cada eje. Si usamos solo un arreglo de enteros para indexar, se realiza la indexación solo a lo largo de un eje (eje 0). Si usamos dos arreglos separados por una coma, se indexa a lo largo de ambos ejes (eje 0 y eje 1).

La indexación solo a lo largo del eje 0 usando un arreglo de enteros devuelve un arreglo 2D. Al acceder a los elementos mediante este tipo de indexación, se agrupan en un nuevo arreglo. Este nuevo arreglo consiste en arreglos 1D, y al agruparlos se incrementa la dimensionalidad en uno, resultando en un arreglo 2D.

La indexación a lo largo del eje 0 y eje 1 usando dos arreglos de enteros devuelve un arreglo 1D.

Note
Nota

Todos los arreglos de enteros utilizados para cada uno de los ejes deben tener la misma forma.

123456789101112131415
import numpy as np array_2d = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]) # Retrieving first and the third row print(array_2d[[0, 2]]) # Retrieving the main diagonal elements print(array_2d[[0, 1, 2], [0, 1, 2]]) # Retrieving the first and third element of the second row print(array_2d[1, [0, 2]]) # IndexError is thrown, since index 3 along axis 0 is out of bounds print(array_2d[[0, 3], [0, 1]])
copy

Como puedes ver, también podemos combinar la indexación básica de enteros y la indexación por arreglo de enteros.

Note
Nota

Una vez más, si al menos uno de los índices está fuera de rango, se lanza un IndexError.

En cuanto a las aplicaciones, este tipo de indexación es útil cuando necesitas seleccionar elementos específicos que no están uno junto al otro o que no siguen un orden regular. A diferencia del slicing, que trabaja con rangos continuos, este método permite elegir exactamente qué elementos recuperar. Es útil cuando se desea extraer datos dispersos o reorganizar valores en un arreglo.

1. Estás analizando los datos de ventas mensuales (en miles) de cinco productos. ¿Cuál es la salida del código?

2. El arreglo temperatures representa las temperaturas semanales (en °C) de tres ciudades durante lunes, martes y miércoles. Selecciona la opción correcta para obtener las temperaturas de Berlín en lunes y martes, y de Madrid en martes.

question mark

Estás analizando los datos de ventas mensuales (en miles) de cinco productos. ¿Cuál es la salida del código?

Selecciona la respuesta correcta

question mark

El arreglo temperatures representa las temperaturas semanales (en °C) de tres ciudades durante lunes, martes y miércoles. Selecciona la opción correcta para obtener las temperaturas de Berlín en lunes y martes, y de Madrid en martes.

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 5
some-alt