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
Numpy Definitivo

bookIndexación de Arreglos Enteros

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 por arreglo 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 mediante arreglos de enteros funciona igual que en los arreglos 1D a lo largo de cada eje. Si se utiliza solo un arreglo de enteros para indexar, se realiza la indexación únicamente a lo largo de un eje (eje 0). Si se emplean dos arreglos separados por una coma, se indexa a lo largo de ambos ejes (eje 0 y eje 1).

La indexación únicamente 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 está compuesto por 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 observar, también es posible combinar la indexación básica de enteros con la indexación mediante arreglos de enteros.

Note
Nota

Nuevamente, si al menos uno de los índices está fuera de rango, se genera un IndexError.

En cuanto a aplicaciones, este tipo de indexación resulta útil cuando es necesario seleccionar elementos específicos que no están uno junto al otro o que no siguen un orden regular. A diferencia del corte, 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á 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. Seleccione la opción correcta para obtener las temperaturas de Berlín en lunes y martes, y de Madrid en martes.

question mark

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

Select the correct answer

question mark

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

Select the correct answer

¿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

Awesome!

Completion rate improved to 3.7

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 por arreglo 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 mediante arreglos de enteros funciona igual que en los arreglos 1D a lo largo de cada eje. Si se utiliza solo un arreglo de enteros para indexar, se realiza la indexación únicamente a lo largo de un eje (eje 0). Si se emplean dos arreglos separados por una coma, se indexa a lo largo de ambos ejes (eje 0 y eje 1).

La indexación únicamente 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 está compuesto por 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 observar, también es posible combinar la indexación básica de enteros con la indexación mediante arreglos de enteros.

Note
Nota

Nuevamente, si al menos uno de los índices está fuera de rango, se genera un IndexError.

En cuanto a aplicaciones, este tipo de indexación resulta útil cuando es necesario seleccionar elementos específicos que no están uno junto al otro o que no siguen un orden regular. A diferencia del corte, 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á 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. Seleccione la opción correcta para obtener las temperaturas de Berlín en lunes y martes, y de Madrid en martes.

question mark

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

Select the correct answer

question mark

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

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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