Python Tutorial NumPy para iniciantes: aprenda com exemplos
O que รฉ NumPy em Python?
NumPy รฉ uma biblioteca de cรณdigo aberto disponรญvel em Python, que auxilia na programaรงรฃo matemรกtica, cientรญfica, de engenharia e de ciรชncia de dados. ร uma biblioteca muito รบtil para realizar operaรงรตes matemรกticas e estatรญsticas em Python. Funciona perfeitamente para matrizes multidimensionais e multiplicaรงรฃo de matrizes. ร fรกcil de integrar com C/C++ e Fortran.
Para qualquer projeto cientรญfico, NumPy รฉ a ferramenta a ser conhecida. Ele foi construรญdo para funcionar com array N-dimensional, รกlgebra linear, nรบmeros aleatรณrios, transformada de Fourier, etc.
NumPy รฉ uma linguagem de programaรงรฃo que lida com matrizes e arrays multidimensionais. Alรฉm de arrays e matrizes, NumPy suporta um grande nรบmero de operaรงรตes matemรกticas. Nesta parte, revisaremos as funรงรตes essenciais que vocรช precisa conhecer para o tutorial sobre 'TensorFlow. '
Por que usar o NumPy?
NumPy รฉ eficiรชncia de memรณria, o que significa que pode lidar com uma grande quantidade de dados mais acessรญveis do que qualquer outra biblioteca. Alรฉm disso, NumPy รฉ muito conveniente de trabalhar, especialmente para multiplicaรงรฃo e remodelagem de matrizes. Alรฉm disso, o NumPy รฉ rรกpido. Na verdade, TensorFlow e Scikit aprendem a usar o array NumPy para calcular a multiplicaรงรฃo de matrizes no back-end.
Como instalar o NumPy
Para instalar a biblioteca NumPy, consulte nosso tutorial Como instalar o TensorFlow. NumPy รฉ instalado por padrรฃo com Anaconda.
No caso remoto, NumPy nรฃo instalado-
Vocรช pode instalar o NumPy usando o Anaconda:
conda install -c anaconda numpy
- In Jupyter Caderno :
import sys
!conda install --yes --prefix {sys.prefix} numpy
Importe NumPy e verifique a versรฃo
O comando para importar numpy รฉ:
import numpy as np
O cรณdigo acima renomeia o namespace Numpy para np. Isso nos permite prefixar funรงรตes, mรฉtodos e atributos Numpy com โnpโ em vez de digitar โnumpyโ. ร o atalho padrรฃo que vocรช encontrarรก na literatura entorpecida
Para verificar sua versรฃo instalada do NumPy, use o comando abaixo:
print (np.__version__)
Saรญda:
1.18.0
O que รฉ a Python Matriz NumPy?
Matrizes NumPy sรฃo um pouco como Python listas, mas ainda muito diferentes ao mesmo tempo. Para aqueles que sรฃo novos no assunto, vamos esclarecer o que รฉ exatamente e para que serve.
Como o nome indica, um array NumPy รฉ uma estrutura de dados central da biblioteca numpy. O nome da biblioteca รฉ na verdade uma abreviaรงรฃo de โNumeric Pythonโ ou โNumรฉrico Python".
Criando uma matriz NumPy
A maneira mais simples de criar um array em Numpy รฉ usar Python Lista
myPythonList = [1,9,8,3]
Para converter a lista python em um array numpy usando o objeto np.array.
numpy_array_from_list = np.array(myPythonList)
Para exibir o conteรบdo da lista
numpy_array_from_list
Saรญda:
array([1, 9, 8, 3])
Na prรกtica, nรฃo hรก necessidade de declarar um Python Lista. A operaรงรฃo pode ser combinada.
a = np.array([1,9,8,3])
NOTA: A documentaรงรฃo do Numpy indica o uso de np.ndarray para criar um array. No entanto, este รฉ o mรฉtodo recomendado.
Vocรช tambรฉm pode criar um array numpy a partir de uma tupla.
Matemรกtico Operaรงรตes em um array
Vocรช poderia realizar operaรงรตes matemรกticas como adiรงรตes, subtraรงรฃo, divisรฃo e multiplicaรงรฃo em uma matriz. A sintaxe รฉ o nome do array seguido pela operaรงรฃo (+.-,*,/) seguido pelo operando
Exemplo:
numpy_array_from_list + 10
Saรญda:
array([11, 19, 18, 13])
Esta operaรงรฃo adiciona 10 a cada elemento da matriz numpy.
Forma da Matriz
Vocรช pode verificar o formato do array com o formato do objeto precedido pelo nome do array. Da mesma forma, vocรช pode verificar o tipo com dtypes.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Um nรบmero inteiro รฉ um valor sem decimal. Se vocรช criar um array com decimal, o tipo mudarรก para float.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
Matriz de 2 dimensรตes
Vocรช pode adicionar uma dimensรฃo com um โ,โvรญrgula
Observe que deve estar entre colchetes []
### 2 dimension
c = np.array([(1,2,3),
(4,5,6)])
print(c.shape)
(2, 3)
Matriz de 3 dimensรตes
Dimensรฃo superior pode ser construรญda da seguinte forma:
### 3 dimension
d = np.array([
[[1, 2,3],
[4, 5, 6]],
[[7, 8,9],
[10, 11, 12]]
])
print(d.shape)
(2, 2, 3)
| Objetivo | Code |
|---|---|
| Criar matriz | matriz([1,2,3]) |
| imprima a forma | matriz([.]).forma |
O que รฉ numpy.zeros()?
numpy.zeros() ou np.zeros Python funรงรฃo รฉ usada para criar uma matriz cheia de zeros. numpy.zeros() em Python pode ser usado quando vocรช inicializa os pesos durante a primeira iteraรงรฃo no TensorFlow e outras tarefas estatรญsticas.
Sintaxe da funรงรฃo numpy.zeros()
numpy.zeros(shape, dtype=float, order='C')
Python Parรขmetros numpy.zeros()
Aqui,
- Shape: รฉ a forma da matriz numpy zero
- Tipo D: รฉ o tipo de dados em zeros numpy. ร opcional. O valor padrรฃo รฉ float64
- Pedido: O padrรฃo รฉ C, que รฉ um estilo de linha essencial para numpy.zeros() em Python.
Python numpy.zeros() Exemplo
import numpy as np np.zeros((2,2))
Saรญda:
array([[0., 0.],
[0., 0.]])
Exemplo de numpy zero com tipo de dados
import numpy as np np.zeros((2,2), dtype=np.int16)
Saรญda:
array([[0, 0],
[0, 0]], dtype=int16)
O que รฉ numpy.ones()?
funรงรฃo np.ones() รฉ usado para criar uma matriz cheia de unidades. numpy.ones() em Python pode ser usado quando vocรช inicializa os pesos durante a primeira iteraรงรฃo no TensorFlow e outras tarefas estatรญsticas.
Python Sintaxe numpy.ones()
numpy.ones(shape, dtype=float, order='C')
Python Parรขmetros numpy.ones()
Aqui,
- Shape: รฉ a forma dos np.ones Python Ordem
- Tipo D: รฉ o tipo de dados em numpy. ร opcional. O valor padrรฃo รฉ float64
- Pedido: O padrรฃo รฉ C, que รฉ um estilo de linha essencial.
Python numpy.ones() Array 2D com exemplo de tipo de dados
import numpy as np np.ones((1,2,3), dtype=np.int16)
Saรญda:
array([[[1, 1, 1],
[1, 1, 1]]], dtype=int16)
funรงรฃo numpy.reshape() em Python
Python Remodelaรงรฃo NumPy A funรงรฃo รฉ usada para moldar um array sem alterar seus dados. Em algumas ocasiรตes, pode ser necessรกrio remodelar os dados de largos para longos. Vocรช pode usar a funรงรฃo np.reshape para isso.
Sintaxe de np.reshape()
numpy.reshape(a, newShape, order='C')
Aqui,
a: Array que vocรช deseja remodelar
nova forma: A nova forma dos desejos
Pedido: O padrรฃo รฉ C, que รฉ um estilo de linha essencial.
Exemplo de remodelaรงรฃo NumPy
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Saรญda:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() em Python
Python NumPy achatar A funรงรฃo รฉ usada para retornar uma cรณpia do array em uma dimensรฃo. Ao lidar com alguma rede neural como convnet, vocรช precisa nivelar o array. Vocรช pode usar as funรงรตes np.flatten() para isso.
Sintaxe de np.flatten()
numpy.flatten(order='C')
Aqui,
Pedido: O padrรฃo รฉ C, que รฉ um estilo de linha essencial.
Exemplo de NumPy Flatten
e.flatten()
Saรญda:
array([1, 2, 3, 4, 5, 6])
O que รฉ numpy.hstack() em Python?
Numpy.hstack รฉ uma funรงรฃo em Python que รฉ usado para empilhar horizontalmente sequรชncias de matrizes de entrada para formar uma รบnica matriz. Com a funรงรฃo hstack(), vocรช pode anexar dados horizontalmente. ร uma funรงรฃo muito conveniente no NumPy.
Vamos estudar hstack em Python com um exemplo:
Exemplo:
## Horitzontal Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Horizontal Append:', np.hstack((f, g)))
Saรญda:
Horizontal Append: [1 2 3 4 5 6]
O que รฉ numpy.vstack() em Python?
Numpy.vstack รฉ uma funรงรฃo em Python que รฉ usado para empilhar verticalmente sequรชncias de matrizes de entrada para formar uma รบnica matriz. Com a funรงรฃo vstack(), vocรช pode anexar dados verticalmente.
Vamos estudรก-lo com um exemplo:
Exemplo:
## Vertical Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Vertical Append:', np.vstack((f, g)))
Saรญda:
Vertical Append: [[1 2 3] [4 5 6]]
Depois de estudar NumPy vstack e hstack, vamos aprender um exemplo para gerar nรบmeros aleatรณrios em NumPy.
Gerar Aleatรณrio Numbers usando NumPy
Para gerar nรบmeros aleatรณrios para distribuiรงรฃo gaussiana, use:
numpy.random.normal(loc, scale, size)
Aqui,
- Lugar: O significativo. O centro de distribuiรงรฃo
- Escala: desvio padrรฃo.
- Dimensรตes:: nรบmero de devoluรงรตes
Exemplo:
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Se plotada, a distribuiรงรฃo serรก semelhante ao grรกfico a seguir

Funรงรฃo NumPy Asarray
A funรงรฃo asarray() รฉ usada quando vocรช deseja converter uma entrada em um array. A entrada pode ser listas, tupla, ndarray, etc.
Sintaxe:
numpy.asarray(data, dtype=None, order=None)[source]
Aqui,
dados,: Dados que vocรช deseja converter em um array
dtipo: Este รฉ um argumento opcional. Se nรฃo for especificado, o tipo de dados รฉ inferido dos dados de entrada
Pedido: O padrรฃo รฉ C, que รฉ um estilo de linha essencial. Outra opรงรฃo รฉ F (estilo Fortan)
Exemplo:
Considere a seguinte matriz 2-D com quatro linhas e quatro colunas preenchidas por 1
import numpy as np A = np.matrix(np.ones((4,4)))
Se vocรช quiser alterar o valor da matriz, nรฃo poderรก. A razรฃo รฉ que nรฃo รฉ possรญvel alterar uma cรณpia.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
Matriz รฉ imutรกvel. Vocรช pode usar asarray se quiser adicionar modificaรงรตes no array original. Vamos ver se ocorre alguma alteraรงรฃo quando vocรช deseja alterar o valor das terceiras linhas com o valor 2.
np.asarray(A)[2]=2 print(A)
Explicaรงรฃo do cรณdigo:
np.asarray(A): converte a matriz A em um array
[2]: selecione as terceiras linhas
Saรญda:
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[2. 2. 2. 2.] # new value
[1. 1. 1. 1.]]
O que รฉ numpy.arange()?
numpy.arange() รฉ uma funรงรฃo numpy embutida que retorna um objeto ndarray contendo valores espaรงados uniformemente dentro de um intervalo definido. Por exemplo, vocรช deseja criar valores de 1 a 10; vocรช pode usar np.arange() em Python funรงรฃo.
Sintaxe:
numpy.arange(start, stop, step, dtype)
Python Parรขmetros do intervalo NumPy:
- Comeรงar: Inรญcio do intervalo para np.arange em Python funรงรฃo.
- Dรช um basta: Fim do intervalo.
- Passo: Espaรงamento entre valores. A etapa padrรฃo รฉ 1.
- Tipo D: ร um tipo de saรญda de array para intervalo NumPy em Python.
Exemplo:
import numpy np np.arange(1, 11)
Saรญda:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Exemplo:
Se vocรช quiser alterar a etapa desta funรงรฃo NumPy arange em Python por exemplo, vocรช pode adicionar um terceiro nรบmero entre parรชnteses. Isso mudarรก o passo.
import numpy np np.arange(1, 14, 4)
Saรญda:
array([ 1, 5, 9, 13])
Funรงรฃo NumPy Linspace
Linspace fornece amostras uniformemente espaรงadas.
Sintaxe:
numpy.linspace(start, stop, num, endpoint)
Aqui,
- Comeรงar: Valor inicial da sequรชncia
- Dรช um basta: Valor final da sequรชncia
- Num: Nรบmero de amostras a serem geradas. O padrรฃo รฉ 50
- Ponto final: Se True (padrรฃo), stop serรก o รบltimo valor. Se for falso, o valor de parada nรฃo serรก incluรญdo.
Exemplo:
Por exemplo, pode ser usado para criar 10 valores de 1 a 5 com espaรงamento uniforme.
import numpy as np np.linspace(1.0, 5.0, num=10)
Saรญda:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Se nรฃo quiser incluir o รบltimo dรญgito no intervalo, vocรช pode definir o ponto final como falso
np.linspace(1.0, 5.0, num=5, endpoint=False)
Saรญda:
array([1. , 1.8, 2.6, 3.4, 4.2])
Funรงรฃo LogSpace NumPy em Python
LogSpace retorna nรบmeros pares com espaรงamento em uma escala logarรญtmica. Logspace tem os mesmos parรขmetros que np.linspace.
Sintaxe:
numpy.logspace(start, stop, num, endpoint)
Exemplo:
np.logspace(3.0, 4.0, num=4)
Saรญda:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Finalmente, se vocรช quiser verificar o tamanho da memรณria de um elemento em um array, vocรช pode usar itemsize
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Saรญda:
16
Cada elemento ocupa 16 bytes.
Indexaรงรฃo e divisรฃo Python
Fatiar dados รฉ trivial com numpy. Vamos fatiar a matriz โeโ. Observe que, em Python, vocรช precisa usar os colchetes para retornar as linhas ou colunas
Exemplo:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Lembre-se de que com numpy a primeira matriz/coluna comeรงa em 0.
## First column
print('First row:', e[0])
## Second col
print('Second row:', e[1])
Saรญda:
First row: [1 2 3] Second row: [4 5 6]
In Python, como muitas outras lรญnguas,
- Os valores antes da vรญrgula representam as linhas
- O valor nos direitos representa as colunas.
- Se quiser selecionar uma coluna, vocรช precisa adicionar: antes do รญndice da coluna.
- : significa que vocรช deseja todas as linhas da coluna selecionada.
print('Second column:', e[:,1])
Second column: [2 5]
Para retornar os dois primeiros valores da segunda linha. Vocรช usa: para selecionar todas as colunas atรฉ a segunda
## Second Row, two values print(e[1, :2]) [4 5]
Funรงรตes estatรญsticas em Python
NumPy tem algumas funรงรตes estatรญsticas รบteis para encontrar mรญnimo, mรกximo, desvio padrรฃo percentil e variรขncia, etc., dos elementos fornecidos na matriz. As funรงรตes sรฃo explicadas a seguir -
Numpy estรก equipado com a funรงรฃo estatรญstica robusta listada abaixo
| funรงรฃo | Numpy |
|---|---|
| min | np.min() |
| Max | np.max() |
| Mรฉdia | np.mรฉdia() |
| Mediana | np.mediana() |
| Desvio padrรฃo | np.std() |
Considere a seguinte matriz:
Exemplo:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Saรญda:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Exemplo de funรงรฃo estatรญstica NumPy
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
Saรญda:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
O que รฉ produto escalar numpy?
Produto Numpy.dot รฉ uma biblioteca poderosa para computaรงรฃo matricial. Por exemplo, vocรช pode calcular o produto escalar com np.dot. O produto Numpy.dot รฉ o produto escalar de a e b. numpy.dot() em Python lida com matrizes 2D e realiza multiplicaรงรตes de matrizes.
Sintaxe:
numpy.dot(x, y, out=None)
Parรขmetros Tรฉcnicos
Aqui,
x, y: Matrizes de entrada. x e y devem ser 1-D ou 2-D para que a funรงรฃo np.dot() funcione
Fora: este รฉ o argumento de saรญda para o escalar da matriz 1-D a ser retornado. Caso contrรกrio, ndarray deverรก ser retornado.
Returns
A funรงรฃo numpy.dot() em Python retorna um produto Dot de dois arrays x e y. A funรงรฃo dot() retorna um escalar se ambos x e y forem 1-D; caso contrรกrio, retorna um array. Se 'out' for fornecido, ele serรก retornado.
Eleva
Produto escalar em Python gera uma exceรงรฃo ValueError se a รบltima dimensรฃo de x nรฃo tiver o mesmo tamanho que a penรบltima dimensรฃo de y.
Exemplo:
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
Saรญda:
14
Multiplicaรงรฃo de matrizes em Python
A funรงรฃo Numpy matmul() รฉ usada para retornar o produto da matriz de 2 arrays. Aqui estรก como funciona
1) Matrizes 2-D, retorna produto normal
2) Dimensรตes > 2, o produto รฉ tratado como uma pilha de matrizes
3) A matriz 1-D รฉ primeiro promovida a uma matriz e, em seguida, o produto รฉ calculado
Sintaxe:
numpy.matmul(x, y, out=None)
Aqui,
x, y: Matrizes de entrada. escalares nรฃo permitidos
Fora: Este รฉ um parรขmetro opcional. Normalmente a saรญda รฉ armazenada em ndarray
Exemplo:
Da mesma forma, vocรช pode calcular a multiplicaรงรฃo de matrizes com np.matmul
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
Saรญda:
array([[19, 22],
[43, 50]])
determinante
Por รบltimo, mas nรฃo menos importante, se precisar calcular o determinante, vocรช pode usar np.linalg.det(). Observe que numpy cuida da dimensรฃo.
Exemplo:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
Saรญda:
-2.000000000000005
Resumo
- Python รฉ uma biblioteca de cรณdigo aberto disponรญvel em Python, que ajuda em matemรกtica, ciรชncia, engenharia e programaรงรฃo de ciรชncia de dados.
- numpy.zeros() ou np.zeros Python funรงรฃo รฉ usada para criar uma matriz cheia de zeros.
- numpy.ones() em Python pode ser usado quando vocรช inicializa os pesos durante a primeira iteraรงรฃo no TensorFlow e outras tarefas estatรญsticas.
- Python A funรงรฃo NumPy Reshape รฉ usada para moldar um array sem alterar seus dados.
- Python A funรงรฃo NumPy Flatten รฉ usada para retornar uma cรณpia do array em uma dimensรฃo.
- Numpy.hstack รฉ uma funรงรฃo em Python que รฉ usado para empilhar horizontalmente sequรชncias de matrizes de entrada para formar uma รบnica matriz.
- Numpy.vstack รฉ uma funรงรฃo em Python que รฉ usado para empilhar verticalmente sequรชncias de matrizes de entrada para formar uma รบnica matriz.
- numpy.arange() รฉ uma funรงรฃo numpy embutida que retorna um objeto ndarray contendo valores espaรงados uniformemente dentro de um intervalo definido.
- O produto Numpy.dot รฉ uma biblioteca poderosa para computaรงรฃo matricial.
- A funรงรฃo Numpy matmul() รฉ usada para retornar o produto da matriz de 2 arrays.
