Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Operações de Matriz em Python com NumPy: Transposta, Adição, Multiplicação e Fatiamento – Guia Prático

Operações de Matriz em Python com NumPy: Transposta, Adição, Multiplicação e Fatiamento

Modelagem matemática, computação científica e análise de dados frequentemente dependem de manipulação eficiente de dados bidimensionais. Em Python, matrizes podem ser criadas com listas simples ou, mais poderosamente, com a biblioteca NumPy. Este guia percorre as operações de matriz mais comuns, com exemplos de código claros e dicas de boas práticas.

O que é uma Matriz?

Uma matriz é um arranjo retangular de números (ou outros tipos de dados) organizados em linhas e colunas. Embora Python não tenha tipo matriz dedicado na linguagem core, você pode representar uma com listas aninhadas ou com ndarray do NumPy, que oferece operações vetorizadas rápidas.

Criando Matriz com Listas Aninhadas

Listas aninhadas são a forma mais simples de construir matriz. Cada lista interna representa uma linha:

# Matriz 3x3
M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
print(M1)

Saída: [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

Lendo Dados

Acesse elementos via índices de linha e coluna. Para imprimir último elemento de cada linha:

for linha in M1:
    print(linha[-1])

Saída: -6, 4, 21

Adicionando Matrizes

Quando ambas matrizes compartilham mesma forma, adição elemento a elemento é direta:

M2 = [[3, 16, -6], [9, 7, -4], [-1, 3, 13]]
# Matriz resultado
M3 = [[M1[i][j] + M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Saída: [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Multiplicação Elemento a Elemento

Similarmente, você pode multiplicar elementos correspondentes:

M3 = [[M1[i][j] * M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Saída: [[24, 224, 36], [108, 49, -16], [11, 9, 273]]

Usando NumPy para Operações de Matriz Eficientes

NumPy fornece tipo array dedicado e riqueza de operações vetorizadas. Instale com pip install numpy e importe como np:

import numpy as np

Criando Matriz

M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
print(M1)

Saída:

[[ 5 -10 15]
 [ 3 -6 9]
 [ -4 8 12]]

Operações Básicas

Exemplo: Produto Escalar de Matriz

M1 = np.array([[3, 6], [5, -10]])
M2 = np.array([[9, -18], [11, 22]])
print(M1.dot(M2))

Saída:

[[ 93  78]
 [-65 -310]]

Fatiamento (Slicing)

Fatie linhas e colunas com array[inicio_linha:fim_linha, inicio_col:fim_col]:

M = np.array([[2, 4, 6, 8, 10],
              [3, 6, 9, -12, -15],
              [4, 8, 12, 16, -20],
              [5, -10, 15, -20, 25]])

print(M[1:3, 1:4])  # linhas 1-2, colunas 1-3
print(M[:, 3])      # todas linhas, 4ª coluna
print(M[:1, :])     # primeira linha, todas colunas
print(M[:3, :2])    # primeiras 3 linhas, primeiras 2 colunas

Saída:

[[ 6  9 -12]
 [ 8 12 16]]
[ 8 -12 16 -20]
[[ 2 4 6 8 10]]
[[ 2 4]
 [ 3 6]
 [ 4 8]]

Acessando Linhas e Colunas

# Linhas
print(M[0])    # primeira linha
print(M[-1])   # última linha
# Colunas
print(M[:, 0])  # primeira coluna
print(M[:, -1]) # última coluna

Principais Conclusões

python

  1. Dominando Dicionários em Python: Criação, Manipulação e Técnicas Avançadas
  2. Arrays em C++ Desmistificados: Declaração, Inicialização e Técnicas com Ponteiros
  3. Função Print() do Python: Guia Prático com Exemplos
  4. Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
  5. Domine Strings format() em Python com Exemplos Claros
  6. Domine o Método String.find() do Python: Sintaxe, Exemplos e Alternativas
  7. Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas
  8. Função abs() em Python: Calcular Valores Absolutos para Números e Complexos
  9. Função round() em Python Explicada com Exemplos Práticos
  10. Dominando a Função range() do Python: Do Básico ao Avançado