O que é Python Matrix?
Uma matriz Python é uma matriz retangular bidimensional especializada de dados armazenados em linhas e colunas. Os dados em uma matriz podem ser números, strings, expressões, símbolos, etc. Matrix é uma das estruturas de dados importantes que podem ser usadas em cálculos matemáticos e científicos.
Neste tutorial Python, você aprenderá:
- O que é Python Matrix?
- Como funcionam as matrizes Python?
- Crie uma matriz Python usando um tipo de dados de lista aninhada
- Para ler dados dentro da matriz Python usando uma lista.
- Exemplo 2: para ler o último elemento de cada linha.
- Exemplo 3: Para imprimir as linhas na Matriz
- Adicionando Matrizes Usando Lista Aninhada
- Multiplicação de matrizes usando lista aninhada
- Crie uma matriz Python usando matrizes do pacote Python Numpy
- Operação de matriz usando Numpy.Array ()
- Acessando Matriz NumPy
Como funcionam as matrizes Python?
Os dados dentro da matriz bidimensional em formato de matriz são os seguintes:Passo 1)
Mostra uma matriz 2x2. Possui duas linhas e 2 colunas. Os dados dentro da matriz são números. A linha 1 tem valores 2,3 e a linha 2 tem valores 4,5. As colunas, ou seja, col1, têm valores 2,4 e col2 tem valores 3,5.
Passo 2)
Mostra uma matriz 2x3. Possui duas linhas e três colunas. Os dados dentro da primeira linha, ou seja, linha1, têm valores 2,3,4 e linha2 tem valores 5,6,7. As colunas col1 têm valores 2,5, col2 tem valores 3,6 e col3 tem valores 4,7.
Da mesma forma, você pode ter seus dados armazenados dentro da matriz nxn em Python. Muitas operações podem ser feitas em uma adição, subtração, multiplicação semelhante a uma matriz, etc.
Python não possui uma maneira direta de implementar um tipo de dados de matriz.
A matriz python faz uso de arrays, e os mesmos podem ser implementados.
- Crie uma matriz Python usando o tipo de dados de lista aninhada
- Crie uma matriz Python usando matrizes do pacote Python Numpy
Crie uma matriz Python usando um tipo de dados de lista aninhada
Em Python, as matrizes são representadas usando o tipo de dados de lista. Portanto, agora utilizarei a lista para criar uma matriz Python.
Vamos criar uma matriz 3x3, conforme mostrado abaixo:
- A matriz possui 3 linhas e 3 colunas.
- A primeira linha em um formato de lista será a seguinte: [8,14, -6]
- A segunda linha em uma lista será: [12,7,4]
- A terceira linha em uma lista será: [-11,3,21]
A matriz dentro de uma lista com todas as linhas e colunas é mostrada abaixo:
List = [[Row1],[Row2],[Row3]… [RowN]]
Assim, de acordo com a matriz listada acima, o tipo de lista com dados de matriz é o seguinte:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Para ler dados dentro da matriz Python usando uma lista.
Faremos uso da matriz definida acima. O exemplo irá ler os dados, imprimir a matriz, exibir o último elemento de cada linha.
Exemplo: Para imprimir a matriz
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(M1)
Resultado:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Exemplo 2: para ler o último elemento de cada linha.
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]matrix_length = len(M1)#To read the last element from each row.for i in range(matrix_length):print(M1[i][-1])
Resultado:
-6421
Exemplo 3: Para imprimir as linhas na Matriz
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]matrix_length = len(M1)#To print the rows in the Matrixfor i in range(matrix_length):print(M1[i])
Resultado:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Adicionando Matrizes Usando Lista Aninhada
Podemos facilmente adicionar duas matrizes fornecidas. As matrizes aqui estarão na forma de lista. Vamos trabalhar em um exemplo que terá o cuidado de adicionar as matrizes fornecidas.
Matriz 1:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]
Matriz 2:
M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]
O último inicializará uma matriz que armazenará o resultado de M1 + M2.
Matriz 3:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Exemplo: Adicionando Matrizes
Para adicionar, as matrizes farão uso de um loop for que percorrerá ambas as matrizes fornecidas.
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]M3 = [[0,0,0],[0,0,0],[0,0,0]]matrix_length = len(M1)#To Add M1 and M2 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] + M2[i][k]#To Print the matrixprint("The sum of Matrix M1 and M2 = ", M3)
Resultado:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Multiplicação de matrizes usando lista aninhada
Para multiplicar as matrizes, podemos usar o loop for em ambas as matrizes, conforme mostrado no código abaixo:
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]M2 = [[3, 16, -6],[9,7,-4],[-1,3,13]]M3 = [[0,0,0],[0,0,0],[0,0,0]]matrix_length = len(M1)#To Multiply M1 and M2 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] * M2[i][k]#To Print the matrixprint("The multiplication of Matrix M1 and M2 = ", M3)
Resultado:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Crie uma matriz Python usando matrizes do pacote Python Numpy
A biblioteca python Numpy ajuda a lidar com matrizes. O Numpy processa um array um pouco mais rápido em comparação com a lista.
Para trabalhar com o Numpy, você precisa instalá-lo primeiro. Siga as etapas abaixo para instalar o Numpy.
Passo 1)
O comando para instalar o Numpy é:
pip install NumPy
Passo 2)
Para fazer uso do Numpy em seu código, você deve importá-lo.
import NumPy
Etapa 3)
Você também pode importar o Numpy usando um alias, conforme mostrado abaixo:
import NumPy as np
Vamos usar o método array () do Numpy para criar uma matriz python.
Exemplo: Array em Numpy para criar Python Matrix
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Resultado:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Operação de matriz usando Numpy.Array ()
A operação de matriz que pode ser feita é adição, subtração, multiplicação, transposição, leitura de linhas, colunas de uma matriz, corte da matriz, etc. Em todos os exemplos, vamos fazer uso de um método array ().
Adição de Matriz
Para realizar a adição na matriz, criaremos duas matrizes usando numpy.array () e as adicionaremos usando o operador (+).
Exemplo:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])M3 = M1 + M2print(M3)
Resultado:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Subtração de Matriz
Para realizar a subtração na matriz, vamos criar duas matrizes usando numpy.array () e subtraí-las usando o operador (-).
Exemplo:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])M3 = M1 - M2print(M3)
Resultado:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Multiplicação da matriz
Primeiro, criará duas matrizes usando numpy.arary (). Para multiplicá-los, você pode usar o método numpy dot (). Numpy.dot () é o produto escalar da matriz M1 e M2. Numpy.dot () lida com os arrays 2D e realiza multiplicações de matrizes.
Exemplo:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Resultado:
[[ 93 78][ -65 -310]]
Matrix Transpose
A transposição de uma matriz é calculada, alterando as linhas como colunas e as colunas como linhas. A função transpose () de Numpy pode ser usada para calcular a transposta de uma matriz.
Exemplo:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])M2 = M1.transpose()print(M2)
Resultado:
[[ 3 5 4][ 6 -10 8][ 9 15 12]]
Fatiamento de uma matriz
O fatiamento retornará os elementos da matriz com base no índice de início / fim fornecido.
- A sintaxe para fatiar é - [início: fim]
- Se o índice inicial não for fornecido, ele será considerado 0. Por exemplo [: 5], significa [0: 5].
- Se o fim não for passado, será considerado o comprimento do array.
- Se o início / fim tiver valores negativos, será que o fatiamento será feito a partir do final do array.
Antes de trabalharmos no fatiamento em uma matriz, vamos primeiro entender como aplicar o slice em um array simples.
import numpy as nparr = np.array([2,4,6,8,10,12,14,16])print(arr[3:6]) # will print the elements from 3 to 5print(arr[:5]) # will print the elements from 0 to 4print(arr[2:]) # will print the elements from 2 to length of the array.print(arr[-5:-1]) # will print from the end i.e. -5 to -2print(arr[:-1]) # will print from end i.e. 0 to -2
Resultado:
[ 8 10 12][ 2 4 6 8 10][ 6 8 10 12 14 16][ 8 10 12 14][ 2 4 6 8 10 12 14]
Agora vamos implementar o fatiamento na matriz. Para realizar o corte em uma matriz
a sintaxe será M1 [row_start: row_end, col_start: col_end]
- O primeiro início / fim será para a linha, ou seja, para selecionar as linhas da matriz.
- O segundo início / fim será para a coluna, ou seja, para selecionar as colunas da matriz.
A matriz M1 que vamos usar é a seguinte:
M1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])
Existem no total 4 linhas. O índice é iniciado a partir de 0 a 3. A 0 th linha é o [2,4,6,8,10], 1 r fileira é [3,6,9, -12, -15] seguido por 2 nd e 3 rd .
A matriz M1 possui 5 colunas. O índice é iniciado a partir de 0 a 4. 0 th coluna tem valores [2,3,4,5], 1 st colunas têm valores [4,6,8, -10] seguido por 2 nd , 3 rd , 4 th , e 5º .
Aqui está um exemplo que mostra como obter os dados de linhas e colunas da matriz usando o fatiamento. No exemplo, estamos imprimindo a 1 r e 2 nd fileira, e para as colunas, que quer a primeira, segunda e terceira coluna,. Para obter essa saída, usamos: M1 [1: 3, 1: 4]
Exemplo:
import numpy as npM1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])print(M1[1:3, 1:4]) # For 1:3, it will give first and second row.#The columns will be taken from first to third.
Resultado:
[[ 6 9 -12][ 8 12 16]]
Exemplo: Para imprimir todas as linhas e terceiras colunas
import numpy as npM1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])print(M1[:,3]) # This will print all rows and the third column data.
Resultado:
[ 8 -12 16 -20]
Exemplo: Para imprimir a primeira linha e todas as colunas
import numpy as npM1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])print(M1[:1,]) # This will print first row and all columns
Resultado:
[[ 2 4 6 8 10]]
Exemplo: para imprimir as três primeiras linhas e as 2 primeiras colunas
import numpy as npM1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])print(M1[:3,:2])
Resultado:
[[2 4][3 6][4 8]]
Acessando Matriz NumPy
Vimos como funciona o fatiamento. Levando isso em consideração, veremos como obter as linhas e colunas da matriz.
Para imprimir as linhas da matriz
No exemplo irá imprimir as linhas da matriz.
Exemplo:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])print(M1[0]) #first rowprint(M1[1]) # the second rowprint(M1[-1]) # -1 will print the last row
Resultado:
[3 6 9][ 5 -10 15][ 4 8 12]
Para obter a última linha, você pode usar o índice ou -1. Por exemplo, a matriz tem 3 linhas,
então M1 [0] lhe dará a primeira linha,
M1 [1] dará a você a segunda linha
M1 [2] ou M1 [-1] dará a você a terceira ou última linha.
Para imprimir as colunas da matriz
import numpy as npM1 = np.array([[2, 4, 6, 8, 10],[3, 6, 9, -12, -15],[4, 8, 12, 16, -20],[5, -10, 15, -20, 25]])print(M1[:,0]) # Will print the first Columnprint(M1[:,3]) # Will print the third Columnprint(M1[:,-1]) # -1 will give you the last column
Resultado:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Resumo:
- Uma matriz Python é uma matriz retangular bidimensional especializada de dados armazenados em linhas e colunas. Os dados em uma matriz podem ser números, strings, expressões, símbolos, etc. Matrix é uma das estruturas de dados importantes que podem ser usadas em cálculos matemáticos e científicos.
- Python não possui uma maneira direta de implementar um tipo de dados de matriz. A matriz Python pode ser criada usando um tipo de dados de lista aninhada e usando a biblioteca numpy.
- A biblioteca python Numpy ajuda a lidar com matrizes. O Numpy processa um array um pouco mais rápido em comparação com a lista.
- A operação de matriz que pode ser feita é adição, subtração, multiplicação, transposição, leitura das linhas, colunas de uma matriz, corte da matriz, etc.
- Para adicionar duas matrizes, você pode usar numpy.array () e adicioná-las usando o operador (+).
- Para multiplicá-los, você pode usar o método numpy dot (). Numpy.dot () é o produto escalar da matriz M1 e M2. Numpy.dot () lida com os arrays 2D e realiza multiplicações de matrizes.
- A transposição de uma matriz é calculada alterando as linhas como colunas e as colunas como linhas. A função transpose () de Numpy pode ser usada para calcular a transposta de uma matriz.
- O fatiamento de uma matriz retornará os elementos com base no índice de início / fim fornecido.