Fatiamento e Indexação NumPy

PythonBeginner
Pratique Agora

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.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 96%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

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.