Skip to content
Tutoriais
NumPy
Tutorial do Python NumPy Array: Criação, Manipulação e Visualização de Arrays

Tutorial do Python NumPy Array: Criação, Manipulação e Visualização de Arrays

Se você está trabalhando com grandes conjuntos de dados ou precisa realizar operações matemáticas complexas, NumPy é uma ferramenta essencial em seu kit de ferramentas de Ciência de Dados. O NumPy permite criar e manipular matrizes multidimensionais de maneira eficiente, tornando-o uma biblioteca central para computação científica e aprendizado de máquina.

Neste tutorial, mostraremos como começar com NumPy em Python. Abordaremos instalação, transmissão, indexação, corte e visualização, com dicas para otimização de desempenho e solução de erros. Vamos começar!

Quer criar rapidamente Visualizações de Dados em Python?

PyGWalker é um Projeto Python Open Source que pode ajudar a acelerar o fluxo de trabalho de análise e visualização de dados diretamente em ambientes baseados em Jupyter Notebook.

PyGWalker (opens in a new tab) transforma seu Dataframe Pandas (ou Polars Dataframe) em uma interface do usuário visual, onde você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Você pode rodar o PyGWalker agora mesmo com os seguintes notebooks online:

E, não esqueça de dar uma ⭐️ no GitHub!

Rode o PyGWalker no Kaggle Notebook (opens in a new tab)Rode o PyGWalker no Google Colab (opens in a new tab)Dê uma ⭐️ no PyGWalker no GitHub (opens in a new tab)
Rode o PyGWalker no Kaggle Notebook (opens in a new tab)Rode o PyGWalker no Google Colab (opens in a new tab)Rode o PyGWalker no Google Colab (opens in a new tab)

O que é NumPy e por que é importante na ciência de dados?

O NumPy é uma biblioteca para computação numérica em Python. Ele fornece objetos de matriz multidimensional de alta performance e ferramentas para trabalhar com essas matrizes. As matrizes NumPy permitem que operações matemáticas sejam executadas em matrizes inteiras de uma só vez, tornando-as muito mais rápidas do que listas Python tradicionais.

O NumPy é essencial na ciência de dados porque permite a manipulação eficiente de grandes conjuntos de dados e operações numéricas. As matrizes NumPy são usadas intensamente em algoritmos de aprendizado de máquina, processamento de imagens e simulações científicas.

Como instalar o NumPy no meu computador?

Antes de começarmos com o NumPy, vamos nos certificar de que ele está instalado em seu computador. Você pode instalar o NumPy usando o pip, o instalador de pacotes para Python.

pip install numpy

Depois que o NumPy estiver instalado, você poderá importá-lo em seu ambiente Python usando:

import numpy as np

Operações de arrays NumPy

Vamos começar criando um array NumPy. Vamos criar um array bidimensional, ou matriz, preenchido com números aleatórios usando a função numpy.random.rand().

import numpy as np
 
# Criar um array 3x3 preenchido com números aleatórios entre 0 e 1
arr = np.random.rand(3, 3)
 
print(arr)

Isso produzirá algo como:

array([[0.5488135 , 0.71518937, 0.60276338],
       [0.54488318, 0.4236548 , 0.64589411],
       [0.43758721, 0.891773  , 0.96366276]])

Agora que temos um array NumPy, vamos executar algumas operações nele. O NumPy suporta muitas operações matemáticas, como adição, subtração, multiplicação e divisão.

# Adicione 10 a cada elemento do array
arr = arr + 10
 
# Multiplique cada elemento do array por 2
arr = arr * 2
 
# Divida cada elemento do array por 3
arr = arr / 3
 
print(arr)

Isso produzirá:

array([[6.22202665, 6.61503667, 6.47785626],
       [6.6808859 , 6.49408332, 6.75637531],
       [6.1817823 , 7.63341086, 7.92046462]])

Indexação de arrays NumPy

A indexação de arrays NumPy é semelhante à indexação de listas Python. Você pode acessar elementos de um array usando colchetes e especificando os índices.

import numpy as np
 
# Criar um array bidimensional de números de 0 a 15
arr = np.arange(16).reshape((4,4))
 
# Imprima o array inteiro
print(arr)
 
# Imprima o elemento na linha 2, coluna 3
print(arr[2, 3])
 
# Imprima a primeira linha do array
print(arr[0, :])
 
# Imprima a última coluna do array
print(arr[:, 3])
 
# Imprima o subarray das linhas 1 a 3 e colunas 1 a 3
print(arr[1:4, 1:4])

Isso produzirá:

array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])

11

[0 1 2 3]

[ 3  7 11 15]

[[ 5  6  7]
 [ 9 10 11]
 [13 14 15]]

NumPy vs. pandas

NumPy e pandas são bibliotecas essenciais na ciência de dados, mas servem para fins diferentes. O NumPy é usado para computação numérica e manipulação de arrays, enquanto o pandas é usado para manipulação e análise de dados.

O NumPy é mais eficiente para operações numéricas em grandes arrays, enquanto o pandas se destaca no manuseio de dados tabulares. O NumPy é tipicamente usado para pré-processamento de dados antes de alimentá-lo em algoritmos de aprendizado de máquina, enquanto o pandas é usado para trabalhar com conjuntos de dados em um fluxo de trabalho orientado por dados.

Tipos de dados do NumPy

Os arrays NumPy podem ter diferentes tipos de dados, incluindo inteiros, números de ponto flutuante e booleanos. Você pode especificar o tipo de dados de um array durante a criação usando o parâmetro dtype.

import numpy as np
 
arr_int = np.array([1, 2, 3])   # Array de inteiros
arr_float = np.array([1.0, 2.0, 3.0])   # Array de ponto flutuante
arr_bool = np.array([True, False, True])   # Array de booleanos
 
# Imprimindo os tipos de dados dos arrays
print(arr_int.dtype)
print(arr_float.dtype)
print(arr_bool.dtype)

Isso irá produzir a saída:

int64
float64
bool

Broadcasting do NumPy

Broadcasting é um recurso poderoso no NumPy que permite operações matemáticas em arrays com formas diferentes. Ao realizar operações em dois arrays, o NumPy compara suas formas elemento por elemento e transmite o array menor para corresponder ao array maior.

import numpy as np
 
# Criando uma matriz 3x3 preenchida com 1s
arr = np.ones((3, 3))
 
# Adicionando 2 a cada elemento da matriz
arr = arr + 2
 
# Multiplicando por 3 cada elemento par da matriz
arr[arr % 2 == 0] *= 3
 
print(arr)

Isso irá produzir a saída:

array([[ 9.,  3.,  9.],
       [ 3.,  9.,  3.],
       [ 9.,  3.,  9.]])

Como usar arrays do NumPy em machine learning

Arrays do NumPy desempenham um papel crítico em algoritmos de machine learning. Modelos de machine learning recebem dados na forma de arrays, e o NumPy fornece várias ferramentas para pré-processar e manipular esses dados.

Por exemplo, ao trabalhar com dados de imagem, arrays do NumPy podem representar os pixels de uma imagem como um array multidimensional. Esse array pode então ser alimentado em um modelo de machine learning para treinamento e previsão.

O NumPy também fornece funções para dividir dados em subconjuntos de treinamento e teste, dimensionar dados e codificar variáveis categóricas.

Técnicas eficientes de manipulação de arrays do NumPy

O NumPy fornece várias funções e técnicas para a manipulação eficiente de arrays. Aqui estão alguns exemplos:

  • Alterando a forma dos arrays: Use a função reshape para alterar a forma de um array para adequá-lo aos requisitos de uma operação ou algoritmo específico.

  • Empilhando arrays: Use as funções hstack, vstack e dstack para empilhar arrays horizontalmente, verticalmente e na profundidade.

  • Transpondo arrays: Use a função transpose para trocar as linhas e colunas de uma matriz bidimensional.

  • Ordenando arrays: Use a função sort para classificar os elementos de um array em ordem ascendente ou descendente.

Dicas para solucionar erros de arrays do NumPy

Trabalhar com arrays do NumPy pode ser desafiador, especialmente ao trabalhar com conjuntos de dados grandes. Aqui estão algumas dicas para solucionar erros comuns de arrays do NumPy:

  • Verifique a forma dos seus arrays: Certifique-se de que os arrays com os quais está trabalhando tenham a forma correta para a operação que está realizando.

  • Converta seus arrays para o tipo de dados correto: Assegure-se de que seus arrays tenham o tipo de dados correto para a operação matemática que está realizando.

  • Use broadcasting com sabedoria: Embora o broadcasting possa ser poderoso, também pode levar a resultados inesperados. Verifique duas vezes as dimensões transmitidas dos seus arrays antes de realizar uma operação.

  • Verifique a existência de valores NaN ou Infinitos: Os valores NaN (não é um número) e Infinitos podem causar erros em operações matemáticas. Verifique seus arrays em busca desses valores antes de realizar uma operação.

Conclusão

O NumPy é uma biblioteca essencial em Python para trabalhar com conjuntos de dados grandes e operações numéricas. Neste tutorial, abordamos a instalação, o broadcasting, o indexação, o fatiamento e a visualização, com dicas para otimizar o desempenho e solucionar erros.

Lembre-se de manter essas dicas em mente ao trabalhar com arrays do NumPy e sempre verifique a documentação quando estiver em dúvida. Boa codificação!