Indexação de Arrays
Lição 12 de 18 do curso Fundamentos de Numpy da Coddy.
Outro recurso excelente no Numpy é a capacidade de selecionar índices específicos de um array. Coloque uma List dentro dos colchetes [] e especifique quais índices você deseja selecionar: ary[indices]
Exemplo 1
Recuperar os 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]Exemplo 2
Recuperar o primeiro e o último elemento (mas agora de um array 2D)
x = np.array([[0, 1], [2, 3], [4, 5], [6, 7]])
x[[0, -1]]
>>> [[0, 1], [6, 7]]E quanto a buscar elementos específicos de um array 2D?
Usamos ary[[Row indices], [Element indices]]
Exemplo 3
Recuperar o primeiro e o último elemento da 2ª e 3ª linhas
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]O que aconteceu?
O Numpy olha para o índice correspondente de cada lista dentro dos colchetes [] e retorna o elemento:
x[[1, 1, 2, 2], [0, -1, 0, -1]]
x[1, 0] # --> 6x[1, -1] # --> 11x[2, 0] # --> 12x[2, -1] # --> 17
Como obter de todas as linhas o primeiro e o último índice?
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilDado um array 2D ary, recupere todos os números divisíveis por cinco sem resto (0, 5, 10, ...) com os métodos que aprendemos nesta lição.
Experimente você mesmo
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 as lições de Fundamentos de Numpy
2Criação de Arrays N-Dimensionais
Dimensões SuperioresEntendendo FormatosPreencher com Valores FixosTipos do NumpyIntervalosRedimensionamento3Indexação de Arrays Numpy
Indexação BásicaFatiamentoIndexação de ArraysIndexação DimensionalIndexação BooleanaIndexação com Múltiplas Condições