Você está na página 1de 1

Python para Data Science Inspecionando sua matriz Subconjuntos, cortes, indexação

Acesso rápido NumPy básico


>>> a.shape Dimensões Subconjuntos
>>> len(a) Largura da matriz >>> a[2] Seleciona o elemento no segundo
>>> b.ndim Número de dimensões 3 índice
Biblioteca >>> e.size Número de elementos >>> b[1, 2] Seleciona o elemento na linha 1 e
>>> b.dtype Tipo de dados dos elementos 6.0 coluna 2
>>> b.dtype.name Nome dos tipos de dados Cortes
A biblioteca NumPY é a biblioteca mais importante para computação
>>> b.astype(int) Converte uma matriz noutro tipo de >>> a[0:2] Seleciona itens no índice 0 e 1
científica no Python. Ela fornece uma matriz-objeto multidimensional de
dado array([1, 2])
alta performance, e as ferramentas para trabalhar com essas matrizes.
>>> b[0:2, 1] Seleciona itens nas linhas 0 e 1, na
Pedindo ajuda array([2., 5.]) coluna 1
Em geral, importa-se a biblioteca dessa forma:
>>> b[:1] Seleciona os itens da linha 1
>>> import numpy as np
array([[1.5, 2., 3.]])
>>> np.info(np.ndarray.dtype)
>>> c[1, ...] O mesmo que [1, :, :]
Matrizes NumPy array([[[3., 2., 1.],
Matemática com matrizes [4., 5., 6.]]])
Matriz 1D Matriz 2D Matriz 3D >>> a[ : :-1] Matriz a invertida
array([3, 2, 1])
Operações aritméticas
Indexação booleana
>>> a[a > 2] Seleciona itens de a menores que 2
>>> g = a - b Subtração array([1])
array([[-0.5, 0., 0.], [-3., -3., -3.]]) Indexação fancy
>>> np.subtract(a, b) Subtração >>> b[[1, 0, 1, 0], [0, 1, 2, 0]] Seleciona elementos (1,0), (0,1),
Criando matrizes >>> b + a Adição array([4., 2., 6., 1.5]) (1,2) e (0,0)
array([[2.5, 4., 6.], [5., 7., 9.]]) >>> b[[1, 0, 1, 0]] [:, [0, 1, 2, 0]] Seleciona um subconjunto das
>>> np.add(b, a) Adição array([[4., 5., 6, 4.]) linhas e colunas das matrizes
>>> a = np.array([1, 2, 3]) >>> a / b Divisão [1.5, 2., 3., 1.5]]])
>>> b = np.array([(1.5, 2, 3), (4, 5, 6,)], dtype=float) array([[0.6667, 1., 1.], [4., 5., 6., 4.]]])
>>> c = np.array([(1.5, 2, 3), (4, 5, 6,)], [(3, 2, 1), (4, 5, 6)], dtype=float) [0.25, 0.4, 0.5]]) [1.5, 2., 3., 1.5]]])
>>> np.divide(a, b) Divisão
>>> a * b Multiplicação
Marcadores iniciais
array([[1.5, 4., 9.], [4., 10., 18.]])
>>> np.multiply(a, b) Multiplicação
>>> np.exp(b) Exponenciação
Manipulação de matrizes
>>>np.zeros((3,4)) Cria matriz de zeros >>> np.sqrt(b) Raiz quadrada
>>>np.ones((2,3,4), Cria matriz de uns >>> np.sin(a) Função seno Transpondo uma matriz
dtype=np.int16) >>> np.cos(b) Função cosseno >>> i = np.transpose(b) Permuta as dimensões da matriz
>>>d=np.arrange(10,25,5) Cria matriz de valores arranjados >>> np.log(a, b) Função logarítmica >>> i.T Permuta as dimensões da matriz
por valor incremental >>> e.dot(f) Função ponto Mudando o formato de uma
>>> np.linspace(0, 2, 9) Cria matriz de valores arranjados array([[7., 7.], [7., 7.]]) matriz
por número de amostras
>>> b.ravel() Torna a matriz plana
>>> e = np.full((2, 2), 7) Cria matriz constante
Comparações >>> g.reshape(3, -2) Remodela, mas não muda os dados
>>> f = np.eye(2) Cria matriz identidade 2x2
Adicionando/removendo
>>>np.random.random((2, 2)) Cria matriz com valores
>>> a == b Comparação de elementos elementos
aleatórios
array([[False, True, True], >>> h.resize((2, 6)) Retorna nova matriz com forma(2,6)
>>> np.empty((3, 2)) Cria matriz vazia
[False, False, False]])
>>> a < 2 Comparação de elementos >>> np.append(h, g) Adiciona itens a uma matriz
array([True, False, False]) >>> np.insert(a, 1, 5) Insere itens numa matriz
I/O >>> np.delete(a, [1]) Deleta itens de uma matriz
>>> np.array_equal(a, b) Comparação de matrizes
Combinando matrizes
Salvando e carregando no disco >>> np.concatenate((a, d), Concatena matrizes
Funções agregadas axis=0)
array([1, 2, 3, 10, 15, 20])
>>> np.save('minhamatriz', a) >>> np.vstack((a, b)) Empilha matrizes verticalmente
>>> np.savez('matriz.npz’, a, b) >>> a.sum() Soma de matrizes
>>> a.min() Valor mínimo dentro da matriz array([[1.,2.,3.],
>>> np.load('minhamatriz.npy') [1.5,2.,3.],
>>> b.max(axis=0) Valor máximo numa linha
>>> b.cumsum(axis=0) Soma acumulada dos elementos [4.,5.,6.]])
Salvando e carregando arquivos de texto >>> a.mean() Média >>> np.r_[e,f] Empilha matrizes verticalmente
>>> b.median() Mediana >>> np.hstack((e,f)) Empilha matrizes horizontalmente
>>> a.corrcoef() Coeficiente de correlação array([7.,7.,1.,0.],
>>> np.loadtxt('meuarquivo.txt') [7.,7.,0.,1.])
>>> np.std(b) Desvio padrão
>>> np.genfromtxt('meuarquivo.csv', delimiter=',') >>> np.column_stack((a,d)) Cria matrizes empilhadas por coluna
>>> np.savetxt('minhamatriz.txt', a, delimiter=',') array([[1,10],
[2,15],
Copiando matrizes [3,20]])
Tipos de dados >>> np.c_[a,d] Cria matrizes empilhadas por coluna
>>> h = a.view() Cria uma visão da matriz com os mesmos dados Partindo matrizes
>>> np.copy(a) Cria uma cópia da matriz >>> np.hsplit(a,3) Parte a matriz horizontalmente no
>>> np.int64 Inteiros de 64-bit >>> h = a.copy() Cria uma cópia profunda da matriz [array([1]), array([2]), terceiro índice
>>> np.float32 Ponto flutuante de dupla precisão array([3])]
>>> np.complex Números complexos >>> np.vsplit(c,2) Parte a matriz horizontalmente no
Ordenando matrizes [array([[[1.5,2.,1.], segundo índice
>>> np.bool Valores booleanos: TRUE, FALSE
>>> np.object Objeto Python [4.,5.,6.]]]),
>>> np.string_ String de largura fixa >>> a.sort() Ordena uma matriz array([[[3.,2.,3.],
>>> np.unicode_ Unicode de largura fixa >>> c.sort(axis=0) Ordena os elementos de um eixo da matriz [4.,5.,6.]]])]

Você também pode gostar