0Pricing
Learn AI with Python · Aula

Indexação, fatiamento e indexação avançada

Fatiamento básico, máscara booleana, indexação avançada e np.where() para seleção condicional.

Indexação, fatiamento e indexação avançada é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Noções básicas de indexação

As matrizes do NumPy usam indexação baseada em zero, como as listas do Python. Os índices negativos contam a partir do fim.

import numpy as np
a = np.array([10, 20, 30, 40, 50])
print(a[0])    # 10
print(a[-1])   # 50

Fatiamento 1D

Os fatiamentos usam start:stop:step e retornam uma visão (não uma cópia), portanto modificar um fatiamento altera o original.

print(a[1:4])    # [20 30 40]
print(a[::2])    # [10 30 50]
view = a[1:3]
view[0] = 99
print(a)         # [10 99 30 40 50]

Indexação 2D [linha, coluna]

Para matrizes 2D, faça a indexação com um único par de colchetes contendo as duas coordenadas: m[row, col]. Isso é mais limpo e rápido do que m[row][col].

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(m[1, 2])   # 6
print(m[0, 0])   # 1

Fatiamento de Linhas e Colunas

Use dois-pontos para selecionar um eixo inteiro. m[:, 1] seleciona a coluna 1 em todas as linhas.

print(m[0, :])    # first row:    [1 2 3]
print(m[:, 1])    # second col:   [2 5 8]
print(m[1:, :2])  # bottom-left block

Máscaras Booleanas

Uma comparação produz uma matriz booleana com o mesmo formato. Fazer a indexação com essa máscara mantém apenas as posições verdadeiras.

a = np.array([5, 12, 7, 20, 3])
mask = a > 8
print(mask)     # [False  True False  True False]
print(a[mask])  # [12 20]

Combinação de Condições

Use & (e) e | (ou) elemento a elemento, com parênteses. As palavras-chave Python and/or têm comportamento NOT compatível com matrizes.

print(a[(a > 4) & (a < 15)])   # [ 5 12  7]

Atribuição por Meio de uma Máscara

É possível escrever nas posições selecionadas pela máscara para limpar os dados no próprio lugar, por exemplo limitando valores discrepantes a um teto.

a = np.array([5, 12, 7, 20, 3])
a[a > 10] = 10
print(a)   # [ 5 10  7 10  3]

Indexação Avançada com Matrizes

Passe uma matriz (ou lista) de índices inteiros para selecionar elementos arbitrários em qualquer ordem, possivelmente com repetições. Isso retorna uma cópia, não uma visão.

a = np.array([10, 20, 30, 40, 50])
idx = [4, 0, 2, 2]
print(a[idx])   # [50 10 30 30]

Indexação Avançada em 2D

Forneça duas matrizes de índices para selecionar pares específicos de (linha, coluna). Aqui, selecionamos os cantos da diagonal.

m = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
rows = [0, 2]
cols = [0, 2]
print(m[rows, cols])   # [1 9]

Seleção Condicional com np.where

np.where(cond, x, y) retorna elementos de x onde a condição é verdadeira e de y nos demais casos: uma estrutura se-então vetorizada.

a = np.array([-2, 5, -7, 3])
print(np.where(a < 0, 0, a))   # [0 5 0 3]  (clip negatives)

np.where para Encontrar Índices

Quando chamado com um argumento, np.where(cond) retorna os índices onde a condição é satisfeita.

a = np.array([10, 20, 30, 40])
print(np.where(a > 15))   # (array([1, 2, 3]),)

Verificação rápida

Teste suas habilidades de indexação.

Recapitulação

Técnicas de seleção:

  • Índice e fatiamento básicos (fatiamentos são visões)
  • Acesso 2D com m[row, col] e eixo inteiro com :
  • Máscaras booleanas com & e |
  • Indexação avançada com matrizes de índices (retorna uma cópia)
  • np.where(cond, x, y) para uma estrutura se-então vetorizada

Perguntas Frequentes

A aula “Indexação, fatiamento e indexação avançada” é grátis?

Sim — o texto completo de “Indexação, fatiamento e indexação avançada” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Indexação, fatiamento e indexação avançada”?

Fatiamento básico, máscara booleana, indexação avançada e np.where() para seleção condicional. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Indexação, fatiamento e indexação avançada”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criação e propriedades de matrizes
  2. Indexação, fatiamento e indexação avançada
  3. Transmissão e operações vetorizadas
  4. Álgebra linear com NumPy
← Voltar para Learn AI with Python