Tamanho de fonte
Alto contraste
Altura de linha

Como Realizar Indexação Avançada no Numpy

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 8 meses atrás

A biblioteca Numpy é uma das ferramentas mais poderosas e essenciais para quem trabalha com ciência de dados e programação em Python. Ela permite realizar operações complexas em matrizes e vetores de maneira eficiente e simplificada. Uma das funcionalidades mais úteis do Numpy é a indexação avançada, que permite acessar e modificar elementos de arrays de formas não convencionais. Neste tutorial, vamos explorar como realizar indexação avançada no Numpy.

O que é Indexação Avançada?

A indexação avançada ocorre quando um array Numpy é indexado por outro array ou por qualquer outra sequência não trivial. Diferente da indexação simples, que utiliza slices e inteiros, a indexação avançada permite realizar operações mais complexas, como filtrar elementos, acessar elementos não contíguos e realizar operações booleanas.

Indexação Booleana

Uma das formas mais comuns de indexação avançada é a indexação booleana. Ela permite selecionar elementos de um array que atendem a uma determinada condição. Por exemplo:

import numpy as np

dados = np.random.randint(0, 20, size=(5,5))
print(dados > 10)  # Retorna uma matriz booleana

A matriz booleana resultante pode ser usada para indexar o array original:

print(dados[dados > 10])  # Retorna os elementos maiores que 10

Indexação com Arrays de Inteiros

Outra forma de indexação avançada é utilizando arrays de inteiros. Isso permite acessar elementos específicos e em uma ordem definida:

a = np.array([1,2,3,4,5,6,7,8,9,10])
print(a[[1, 2, 9]])  # Retorna os elementos nas posições 1, 2 e 9

Desafio Final de Indexação Avançada

Para solidificar o aprendizado, vamos resolver um desafio utilizando indexação avançada. Considere a seguinte matriz:

m = np.arange(1,31).reshape([6,5])

Agora, vamos realizar as seguintes operações:

  1. Retorne a última linha da matriz utilizando índices negativos.
  2. Crie uma matriz utilizando os números 19, 20, 24, 25.
  3. Calcule a média dos valores das últimas 3 linhas.
  4. Retorne a diagonal que vai do número 2 até o número 20.
  5. Crie uma matriz do tipo:
| 4  | 5  |
|---|---|
| 24  | 25  |
| 29  | 30  |

A solução para esses desafios envolve o uso de indexação avançada e slicing. Por exemplo, para retornar a última linha da matriz, você pode usar:

print(m[-1,])

Para os demais desafios, você precisará aplicar técnicas similares, utilizando a indexação avançada para acessar e manipular os elementos da matriz m.

Conclusão

A indexação avançada no Numpy é uma ferramenta poderosa que abre um leque de possibilidades para manipulação de dados. Com a prática, você se tornará cada vez mais hábil em utilizar essas técnicas para extrair, transformar e analisar dados de maneira eficiente. Continue explorando e experimentando com diferentes tipos de indexação para aprimorar suas habilidades em Numpy e Python.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov