Curso
Matrizes são estruturas de dados fundamentais em muitas linguagens de programação, oferecendo uma maneira de armazenar coleções de elementos do mesmo tipo em um bloco contíguo de memória — o que significa que todos os elementos são armazenados sequencialmente, sem espaços. Essa estrutura permite um acesso e uma manipulação eficientes dos elementos armazenados.
Diferente de linguagens como C ou Java, o Python não tem um tipo de dados array embutido no sentido tradicional. Em vez disso, o Python oferece várias alternativas que funcionam como matrizes, cada uma adequada para diferentes necessidades e cenários de programação.
A biblioteca padrão do Python tem um módulo array , que permite a criação de matrizes compactas e restritas a tipos, semelhantes às encontradas em linguagens mais estaticamente tipadas.
Para computação numérica e científica, no entanto, o NumPy e seu ndarray (matriz n-dimensional) se tornaram o padrão de referência em Python. As matrizes NumPy oferecem funcionalidades bem além da estrutura básica de matrizes que a biblioteca padrão do Python tem.
Aprimoramento de IA para iniciantes
Noções básicas sobre matrizes
O NumPy é o pacote básico para computação numérica em Python, oferecendo um objeto de matriz poderoso e um conjunto de funções para trabalhar de forma eficiente com essas matrizes. As vantagens do Numpy são:
• Multidimensional: Suporta mais do que apenas matrizes unidimensionais.
• Operações poderosas: Tem uma biblioteca enorme de funções matemáticas e estatísticas.
• Vetorização: Permite operações em matrizes inteiras sem a necessidade de loops explícitos, melhorando o desempenho.
• Integração: Funciona perfeitamente com outras bibliotecas científicas, como SciPy, Pandas e Matplotlib.
Vamos começar a criar uma matriz usando o Numpy. Primeiro, você importa o NumPy e, em seguida, usa a função array() para criar uma matriz. A função array() recebe uma lista como entrada.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(my_array)
# Expected output: [0 1 2 3 4]
O tipo de my_array é um numpy.ndarray.
import numpy
my_array = numpy.array([0, 1, 2, 3, 4])
print(type(my_array))
# Expected output: <class 'numpy.ndarray'>
Exemplos de matrizes
Exemplo de como criar uma matriz
No exemplo abaixo, você vai converter uma lista em uma matriz usando a função array() do NumPy. Você vai criar uma lista a_list com números inteiros. Depois, usando a função array(), transforme isso em uma matriz.
import numpy as np
a_list = [1, 2, 3, 4]
print(a_list)
# Expected output: [1, 2, 3, 4]
import numpy as np
a_list = [1, 2, 3, 4]
an_array = np.array(a_list)
print(an_array)
# Expected output: [1 2 3 4]
Exemplo de uma operação com matriz
No exemplo abaixo, você soma duas matrizes numpy. O resultado é uma soma elemento a elemento de ambas as matrizes.
import numpy as np
array_A = np.array([1, 2, 3])
array_B = np.array([4, 5, 6])
print(array_A + array_B)
# Expected output: [5 7 9]
Exemplo de indexação de matriz
Você pode escolher um elemento específico de um índice de uma matriz usando a notação de indexação.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[3])
# Expected output: Apr
Você também pode dividir um intervalo de elementos usando a notação de divisão, especificando um intervalo de índices.
import numpy as np
months_array = np.array(['Jan', 'Feb', 'March', 'Apr', 'May'])
print(months_array[2:5])
# Expected output: ['March', 'Apr', 'May']
Exemplo interativo de uma lista para uma matriz
No exemplo abaixo, você vai importar numpy usando o alias np. Crie as matrizes prices_array e earnings_array a partir das listas prices e earnings, respectivamente. Por fim, imprima as duas matrizes.
import numpy as np
# Lists
prices = [170.12, 93.29, 55.28, 145.30, 171.81, 59.50, 100.50]
earnings = [9.2, 5.31, 2.41, 5.91, 15.42, 2.51, 6.79]
# NumPy arrays
prices_array = np.array(prices)
earnings_array = np.array(earnings)
# Print the arrays
print(prices_array)
print(earnings_array)
# Expected output:
# [170.12 93.29 55.28 145.3 171.81 59.5 100.5 ]
# [ 9.2 5.31 2.41 5.91 15.42 2.51 6.79]
Para saber mais sobre matrizes NumPy em Python, dá uma olhada nesse vídeo do nosso curso Introdução ao Python para Finanças.
Esse conteúdo foi tirado do curso Introdução ao Python para Finanças, da DataCamp, feito pela Adina Howe.
Dá uma olhada no nosso Tutorial sobre Matrizes Numpy em Python.
Perguntas frequentes
Quais são as principais diferenças entre o módulo array do Python e os arrays NumPy?
As principais diferenças estão nas funcionalidades e nos casos de uso. O módulo array do Python oferece funcionalidades básicas para criar matrizes compactas e restritas a tipos, parecidas com as de linguagens como C. Já as matrizes NumPy têm recursos avançados, como suporte a matrizes multidimensionais, uma biblioteca enorme de funções matemáticas e otimizações de desempenho por meio de vetorização. O NumPy é geralmente preferido para cálculos numéricos e científicos.
Posso usar o módulo array do Python para tipos de dados string ou objeto?
Não, o módulo array foi feito pra guardar só tipos de dados básicos, tipo inteiros, floats e coisas assim. Não suporta strings ou objetos. Para coleções desse tipo, a lista do Python ou outras estruturas de dados, como tuplas ou dicionários, são mais adequadas.
Por que usar matrizes NumPy em vez de listas Python para dados numéricos?
As matrizes NumPy são otimizadas especialmente para cálculos numéricos. Eles oferecem recursos eficientes de armazenamento e processamento que são melhores do que as listas do Python, principalmente para grandes conjuntos de dados. Recursos como a vetorização permitem operações em matrizes inteiras sem loops explícitos, melhorando bastante o desempenho e a legibilidade do código.