12 operações NumPy para iniciantes
NumPy, que significa Numerical Python, é uma biblioteca Python usada principalmente para trabalhar com matrizes e executar uma ampla variedade de operações matemáticas nelas. É a biblioteca central para computação científica em Python. NumPy é frequentemente usado com outras bibliotecas Python relacionadas à ciência de dados, como SciPy, Pandas e Matplotlib.
Neste artigo, você aprenderá a realizar 12 operações básicas usando o NumPy.
Usando Estes Exemplos NumPy
Você pode executar os exemplos neste artigo inserindo o código diretamente no interpretador Python. Inicie-o no modo interativo, a partir da linha de comando, para fazer isso.
Você também pode acessar um arquivo do Python Notebook contendo o código-fonte completo deste repositório GitHub .
1. Como importar NumPy como np e imprimir o número da versão
Você precisa usar a palavra-chave de importação para importar qualquer biblioteca em Python. NumPy normalmente é importado sob o alias np . Com essa abordagem, você pode se referir ao pacote NumPy como np em vez de numpy .
import numpy as np
print(np.__version__)
Saída:
1.20.1
2. Como criar um objeto NumPy ndarray
O objeto de matriz em NumPy é denominado ndarray . Você pode criar o objeto ndarray NumPy usando o método array () . O método array () aceita uma lista, tupla ou um objeto do tipo array.
Usando uma tupla para criar uma matriz NumPy
arrObj = np.array((23, 32, 65, 85))
arrObj
Saída:
array([23, 32, 65, 85])
Usando uma lista para criar uma matriz NumPy
arrObj = np.array([43, 23, 75, 15])
arrObj
Saída:
array([43, 23, 75, 15])
3. Como criar matrizes NumPy 0D, 1D, 2D, 3D e N-Dimensional
Matrizes 0D
Cada elemento de uma matriz é uma matriz 0D.
arrObj = np.array(21)
arrObj
Saída:
array(21)
Matrizes 1D
Os arrays que têm arrays 0D como elementos são chamados de arrays 1D.
arrObj = np.array([43, 23, 75, 15])
arrObj
Saída:
array([43, 23, 75, 15])
Matrizes 2D
Arrays que têm arrays 1D como seus elementos são chamados de arrays 2D.
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj
Saída:
array([[12, 43, 21],
[67, 32, 98]])
Matrizes 3D
Arrays que têm arrays 2D (matrizes) como seus elementos são chamados de arrays 3D.
arrObj = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
arrObj
Saída:
array([[[23, 45, 22],
[45, 76, 23]],
[[67, 23, 56],
[12, 76, 63]]])
Matrizes n-dimensionais
Você pode criar uma matriz de qualquer dimensão usando o argumento ndmin .
arrObj = np.array([23, 22, 65, 44], ndmin=5)
arrObj
Saída:
array([[[[[23, 22, 65, 44]]]]])
4. Como verificar as dimensões de uma matriz
Você pode encontrar as dimensões de uma matriz usando o atributo ndim .
arrObj1 = np.array(21)
arrObj2 = np.array([43, 23, 75, 15])
arrObj3 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj4 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1.ndim)
print(arrObj2.ndim)
print(arrObj3.ndim)
print(arrObj4.ndim)
Saída:
0
1
2
3
5. Como acessar os elementos de matrizes 1D, 2D e 3D
Você pode acessar um elemento da matriz usando seu número de índice. Para matrizes 2D e 3D, você precisa usar números inteiros separados por vírgula que representam o índice de cada dimensão.
arrObj1 = np.array([43, 23, 75, 15])
arrObj2 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj3 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1[2])
print(arrObj2[0, 2])
print(arrObj3[0, 1, 2])
Saída:
75
21
23
Nota : As matrizes NumPy também suportam indexação negativa.
6. Como verificar o tipo de dados do objeto NumPy Array
Você pode verificar o tipo de dados do objeto de matriz NumPy usando a propriedade dtype .
arrObj1 = np.array([1, 2, 3, 4])
arrObj2 = np.array([1.3, 6.8, 3.5, 9.2])
arrObj3 = np.array(['Welcome', 'to', 'MUO'])
print(arrObj1.dtype)
print(arrObj2.dtype)
print(arrObj3.dtype)
Saída:
int32
float64
<U7
Nota :
NumPy usa os seguintes caracteres para representar os tipos de dados integrados:
- i – inteiro (assinado)
- b – booleano
- O – objeto
- S – string
- u – inteiro sem sinal
- f – flutuar
- c – flutuação complexa
- m – timedelta
- M – datetime
- U – string Unicode
- V – dados brutos (vazio)
7. Como alterar o tipo de dados de um array NumPy
Você pode alterar o tipo de dados de uma matriz NumPy usando o método astype (data_type) . Este método aceita o tipo de dados como parâmetro e cria uma nova cópia do array. Você pode especificar o tipo de dados usando caracteres como 'b' para booleano, 'i' para inteiro, 'f' para flutuante, etc.
Convertendo uma Matriz Inteira em uma Matriz Flutuante
arrObj = np.array([43, 23, 75, 15])
floatArr = arrObj.astype('f')
floatArr
Saída:
array([43., 23., 75., 15.], dtype=float32)
Convertendo uma Matriz Flutuante em uma Matriz Inteira
arrObj = np.array([1.3, 6.8, 3.5, 9.2])
intArr = arrObj.astype('i')
intArr
Saída:
array([1, 6, 3, 9], dtype=int32)
8. Como copiar uma matriz NumPy em outra matriz
Você pode copiar uma matriz NumPy em outra matriz usando a função np.copy () . Esta função retorna uma cópia do array do objeto fornecido.
oldArr = np.array([43, 23, 75, 15])
newArr = np.copy(oldArr)
newArr
Saída:
array([43, 23, 75, 15])
9. Como encontrar a forma de um array NumPy
A forma de uma matriz se refere ao número de elementos em cada dimensão. Você pode encontrar a forma de uma matriz usando o atributo de forma . Ele retorna uma tupla cujos elementos fornecem os comprimentos das dimensões da matriz correspondente.
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj.shape
Saída:
(2, 3)
10. Como remodelar uma matriz NumPy
Remodelar uma matriz significa mudar sua forma. Observe que você não pode remodelar uma matriz para uma forma arbitrária. O número de elementos necessários para a remodelagem deve ser o mesmo em ambas as formas.
arrObj = np.array([43, 23, 75, 15, 34, 45])
reshapedArr = arrObj.reshape(2, 3)
reshapedArr
Saída:
array([[43, 23, 75],
[15, 34, 45]])
No exemplo acima, uma matriz 1D é remodelada para uma matriz 2D.
11. Como nivelar uma matriz NumPy
Achatar um array significa converter um array multidimensional em um array 1D. Você pode nivelar uma matriz usando reshape (-1) .
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
flattenedArr = arrObj.reshape(-1)
flattenedArr
Saída:
array([12, 43, 21, 67, 32, 98])
Nota : Você também pode nivelar uma matriz usando outros métodos como numpy.ndarray.flatten () e numpy.ravel () .
12. Como classificar uma matriz NumPy
Você pode classificar uma matriz NumPy usando a função numpy.sort () .
Classificando Array 1D de Inteiros
arrObj = np.array([43, 23, 75, 15])
np.sort(arrObj)
Saída:
array([15, 23, 43, 75])
Classificando Array 1D de Strings
arrObj = np.array(["Python", "JavaScript", "Solidity", "Golang"])
np.sort(arrObj)
Saída:
array(['Golang', 'JavaScript', 'Python', 'Solidity'], dtype='<U10')
Classificando Array 2D de Inteiros
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
np.sort(arrObj)
Saída:
array([[12, 21, 43], [32, 67, 98]])
Torne seu código robusto usando métodos e funções integradas
Python é uma das linguagens de programação mais populares. É usado em vários domínios, como desenvolvimento web, aplicativos científicos e numéricos, desenvolvimento de software e desenvolvimento de jogos. É sempre bom saber sobre métodos e funções integradas em Python. Eles podem encurtar seu código e aumentar sua eficiência.