Introdução
NumPy é uma biblioteca Python popular utilizada para computação científica. Ela oferece operações de array de alto desempenho e funções matemáticas que são úteis para análise de dados numéricos. Neste laboratório, você aprenderá sobre as funcionalidades de slicing e indexação do NumPy.
Fatiando Arrays
Slicing é o processo de extrair um subconjunto de um array, especificando um intervalo de índices. Arrays NumPy podem ser fatiados usando o operador de dois pontos :.
Abra o Shell Python
Abra o shell Python digitando o seguinte comando no terminal.
python3
Importe NumPy
NumPy já está instalado, você pode importá-lo no seu código Python:
import numpy as np
Slice Arrays em Uma Dimensão
## crie um array unidimensional
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
## fatie o array do índice 2 ao índice 5
print(a[2:5])
Saída:
[2 3 4]
Slice Arrays em Múltiplas Dimensões
Você também pode fatiar arrays em múltiplas dimensões.
## crie um array bidimensional
b = np.array([[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]])
## fatie as duas primeiras linhas e as duas primeiras colunas
print(b[:2, :2])
Saída:
[[0 1]
[3 4]]
Indexação com Arrays Booleanos
Indexação booleana é uma funcionalidade poderosa que nos permite filtrar um array com base em uma condição. Você pode criar um array booleano aplicando um operador lógico a um array existente.
Crie um Array Unidimensional
c = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Crie um Array Booleano com Base na Condição (c > 5)
mask = c > 5
print(mask)
Saída:
[False False False False False False True True True True]
Filtre o Array Original Usando o Array Booleano
print(c[mask])
Saída:
[6 7 8 9]
Indexação Avançada (Fancy Indexing)
Indexação fancy (fancy indexing) é uma forma de indexar um array usando um array de índices. Você pode usar esta técnica para extrair elementos específicos ou subconjuntos de um array.
## crie um array unidimensional
d = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
## crie um array de índices
indices = np.array([1, 3, 5])
## use fancy indexing para extrair os elementos nos índices especificados
print(d[indices])
Saída:
[1 3 5]
- Você também pode usar fancy indexing para atribuir valores a elementos específicos em um array.
## crie um array unidimensional
e = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
## crie um array de índices
indices = np.array([1, 3, 5])
## atribua o valor 10 aos elementos nos índices especificados
e[indices] = 10
print(e)
Saída:
[ 0 10 2 10 4 10 6 7 8 9]
Resumo
Parabéns! Você concluiu o Lab de Fatiamento e Indexação do NumPy.
Neste laboratório, você cobriu os fundamentos de fatiamento e indexação de arrays NumPy:
- Fatiamento (Slicing) permite que você extraia um subconjunto de um array, especificando um intervalo de índices.
- Indexação booleana permite que você filtre um array com base em uma condição.
- Indexação fancy (fancy indexing) permite que você extraia elementos específicos ou subconjuntos de um array usando um array de índices.



