Matriz Python: exemplos de matrizes de transposição, multiplicação e NumPy

Índice:

Anonim

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 .

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.