Skip to content

Folha de dicas do NumPy

O sistema NumPy é uma extensão de cálculo numérico de código aberto para Python. Esta ferramenta pode ser usada para armazenar e processar grandes matrizes, sendo muito mais eficiente do que a própria estrutura de lista aninhada do Python (que também pode ser usada para representar matrizes).

Explicação

Use arr para representar um objeto de array numpy.

Importar Módulo

import numpy as np

Importar/Exportar

np.loadtxt(‘file.txt’) Ler de arquivo de texto
np.genfromtxt(‘file.csv’,delimiter=’,’) Ler de arquivo CSV
np.savetxt(‘file.txt’,arr,delimiter=’ ‘) Escrever em arquivo de texto
np.savetxt(‘file.csv’,arr,delimiter=’,’) Escrever em arquivo CSV

Criar Array

np.array([1,2,3]) Array 1D
np.array([(1,2,3),(4,5,6)]) Array 2D
np.zeros(3) Array 1D de comprimento 3 com todos os zeros
np.ones((3,4)) Array 3x4 com todos os valores como 1
np.eye(5) Array 5x5 com 1s na diagonal e 0s em outros lugares (Matriz Identidade)
np.linspace(0,100,6) Array de 6 valores uniformemente espaçados de 0 a 100
np.arange(0,10,3) Array de valores de 0 a menos de 10 com passo 3 (ex: [0,3,6,9])
np.full((2,3),8) Array 2x3 com todos os valores como 8
np.random.rand(4,5) Array 4x5 de floats aleatórios entre 0-1
np.random.rand(6,7)*100 Array 6x7 de floats aleatórios entre 0-100
np.random.randint(5,size=(2,3)) Array 2x3 com inteiros aleatórios entre 0-4

Inspecionar Propriedades

arr.size Retorna o número total de elementos do array
arr.shape Retorna as dimensões do array
arr.dtype Retorna o tipo de elementos no array
arr.astype(dtype) Converte o tipo de elemento do array para dtype
arr.tolist() Converte o array para uma lista
np.info(np.eye) Ver documentação para np.eye

Copiar/Ordenar/Remodelar

np.copy(arr) Copia arr para nova memória
arr.view(dtype) Cria visão dos elementos de arr com tipo dtype
arr.sort() Ordena arr
arr.sort(axis=0) Ordena eixo específico de arr
two_d_arr.flatten() Achata array 2D para 1D
arr.T Transpõe arr (linhas tornam-se colunas e vice-versa)
arr.reshape(3,4) Remodela arr para 3 linhas, 4 colunas sem alterar os dados
arr.resize((5,6)) Altera a forma do arr para 5x6 e preenche novos valores com 0

Adicionar/Remover Elementos

np.append(arr,values) Adiciona valores ao final do arr
np.insert(arr,2,values) Insere valores no arr antes do índice 2
np.delete(arr,3,axis=0) Exclui linha no índice 3 de arr
np.delete(arr,4,axis=1) Exclui coluna no índice 4 de arr

Combinar/Dividir

np.concatenate((arr1,arr2),axis=0) Adiciona arr2 como linhas ao final de arr1
np.concatenate((arr1,arr2),axis=1) Adiciona arr2 como colunas ao final de arr1
np.split(arr,3) Divide arr em 3 sub-arrays
np.hsplit(arr,5) Divide arr horizontalmente no 5º índice

Indexação/Slicing/Subconjuntos

arr[5] Retorna o elemento no índice 5
arr[2,5] Retorna o elemento do array 2D no índice [2][5]
arr[1]=4 Atribui ao elemento do array no índice 1 o valor 4
arr[1,3]=10 Atribui ao elemento do array no índice [1][3] o valor 10
arr[0:3] Retorna os elementos nos índices 0,1,2 (Em um array 2D: retorna as linhas 0,1,2)
arr[0:3,4] Retorna os elementos nas linhas 0,1,2 na coluna 4
arr[:2] Retorna os elementos nos índices 0,1 (Em um array 2D: retorna as linhas 0,1)
arr[:,1] Retorna os elementos no índice 1 em todas as linhas
arr<5 Retorna um array com valores booleanos
(arr1<3) & (arr2>5) Retorna um array com valores booleanos
~arr Inverte um array booleano
arr[arr<5] Retorna os elementos do array menores que 5

Matemática Escalar

np.add(arr,1) Adiciona 1 a cada elemento do array
np.subtract(arr,2) Subtrai 2 de cada elemento do array
np.multiply(arr,3) Multiplica cada elemento do array por 3
np.divide(arr,4) Divide cada elemento do array por 4 (retorna np.nan para divisão por zero)
np.power(arr,5) Eleva cada elemento do array à 5ª potência

Matemática Vetorial

np.add(arr1,arr2) Adiciona arr2 a arr1 elemento a elemento
np.subtract(arr1,arr2) Subtrai arr2 de arr1 elemento a elemento
np.multiply(arr1,arr2) Multiplica arr1 por arr2 elemento a elemento
np.divide(arr1,arr2) Divide arr1 por arr2 elemento a elemento
np.power(arr1,arr2) Eleva elementos de arr1 à potência de elementos de arr2 elemento a elemento
np.array_equal(arr1,arr2) Retorna True se os arrays tiverem os mesmos elementos e forma
np.sqrt(arr) Raiz quadrada de cada elemento no array
np.sin(arr) Seno de cada elemento no array
np.log(arr) Logaritmo natural de cada elemento no array
np.abs(arr) Valor absoluto de cada elemento no array
np.ceil(arr) Arredonda para cima para o inteiro mais próximo
np.floor(arr) Arredonda para baixo para o inteiro mais próximo
np.round(arr) Arredonda para o inteiro mais próximo

Estatísticas

np.mean(arr,axis=0) Retorna a média ao longo de um eixo específico
arr.sum() Retorna a soma de arr
arr.min() Retorna o valor mínimo de arr
arr.max(axis=0) Retorna o valor máximo de um eixo específico
np.var(arr) Retorna a variância do array
np.std(arr,axis=1) Retorna o desvio padrão de um eixo específico
arr.corrcoef() Retorna o coeficiente de correlação do array