Indexación de arrays
Lección 12 de 18 del curso Fundamentos de Numpy de Coddy.
Otra gran característica de Numpy es la capacidad de seleccionar índices específicos de un array. Coloque una List dentro de los corchetes [] y especifique qué índices desea seleccionar: ary[indices]
Ejemplo 1
Recuperar los elementos 0º, 2º, 4º:
x = np.arange(5, 15) # np.array([5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
x[[0, 2, 4]]
>>> [5, 7, 9]Ejemplo 2
Recuperar el primer y último elemento (pero ahora de un array 2D)
x = np.array([[0, 1], [2, 3], [4, 5], [6, 7]])
x[[0, -1]]
>>> [[0, 1], [6, 7]]¿Qué hay de obtener elementos específicos de un array 2D?
Usamos ary[[Row indices], [Element indices]]
Ejemplo 3
Recuperar el primer y último elemento de la 2ª y 3ª fila
x = np.array([
[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
])
x[[1, 1, 2, 2], [0, -1, 0, -1]]
>>> [6, 11, 12, 17]¿Qué ha pasado?
Numpy busca el índice correspondiente de cada lista dentro del corchete [] y devuelve el elemento:
x[[1, 1, 2, 2], [0, -1, 0, -1]]
x[1, 0] # --> 6x[1, -1] # --> 11x[2, 0] # --> 12x[2, -1] # --> 17
¿Cómo obtener de todas las filas el primer y último índice?
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Desafío
FácilDado un arreglo 2D ary, recupera todos los números divisibles por cinco sin resto (0, 5, 10, ...) con los métodos que aprendimos en esta lección.
Pruébalo tú mismo
import numpy as np
'''
ary looks like:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]])
'''
ary = np.arange(0, 20).reshape(4, 5) # don't change ary
res = ary[] # <-- Complete indices
print(str(res).replace("\n", "")) # don't change this lineTodas las lecciones de Fundamentos de Numpy
2Creación de arreglos N-dimensionales
Dimensiones superioresComprendiendo las formasLlenar con valores fijosTipos de NumPyRangoRedimensionar3Indexación de Arrays de Numpy
Indexación básicaSlicingIndexación de arraysIndexación dimensionalIndexación booleanaIndexación con múltiples condiciones