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 รฉ eficiente em termos de memรณria, o que significa que consegue lidar com grandes quantidades de dados de forma mais acessรญvel do que qualquer outra biblioteca. Alรฉm disso, NumPy รฉ muito conveniente de usar, especialmente para multiplicaรงรฃo de matrizes e redimensionamento.pingAlรฉm disso, o NumPy รฉ rรกpido. Na verdade, o TensorFlow e o Scikit-learn aprendem a usar arrays NumPy para calcular a multiplicaรงรฃo de matrizes no backend.
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 do Numpy com "np" em vez de "ty".ping "numpy." ร a abreviaรงรฃo padrรฃo que vocรช encontrarรก na documentaรงรฃo do NumPy.
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รงรตes e outras operaรงรตes matemรกticas, como adiรงรตes e subtraรงรตes.tracoperaรงรตes de divisรฃo, multiplicaรงรฃo e operaรงรฃo em um vetor. A sintaxe รฉ o nome do vetor seguido pela operaรงรฃo (+, -, *, /) seguida 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)
Code Explicaรงรฃo:
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.
