Menu
Coddy logo textTech

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 e 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]  # --> 6
  • x[1, -1] # --> 11
  • x[2, 0]  # --> 12
  • x[2, -1] # --> 17

Como obter de todas as linhas o primeiro e o último índice?

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Dado 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 line

Todas as lições de Fundamentos de Numpy