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.

Relacionado: Por que Python é a linguagem de programação do futuro

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)

Relacionado: Idéias de projetos Python adequadas para iniciantes

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)

Relacionado: Como construir APIs em Python: estruturas mais populares

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.