Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Matriz de Python:transposición, multiplicación, ejemplos de matrices NumPy

¿Qué es Python Matrix?

Una matriz de Python es una matriz rectangular bidimensional especializada de datos almacenados en filas y columnas. Los datos en una matriz pueden ser números, cadenas, expresiones, símbolos, etc. La matriz es una de las estructuras de datos importantes que se pueden usar en cálculos matemáticos y científicos.

En este tutorial de Python, aprenderá:

¿Cómo funcionan las Matrices Python?

Los datos dentro de la matriz bidimensional en formato de matriz tienen el siguiente aspecto:

Paso 1)

Muestra una matriz de 2×2. Tiene dos filas y 2 columnas. Los datos dentro de la matriz son números. La fila1 tiene los valores 2,3 y la fila2 tiene los valores 4,5. Las columnas, es decir, col1, tienen valores 2,4 y col2 tiene valores 3,5.

Paso 2)

Muestra una matriz de 2×3. Tiene dos filas y tres columnas. Los datos dentro de la primera fila, es decir, la fila1, tiene los valores 2,3,4 y la fila2 tiene los valores 5,6,7. Las columnas col1 tienen valores 2,5, col2 tienen valores 3,6 y col3 tienen valores 4,7.

De manera similar, puede tener sus datos almacenados dentro de la matriz nxn en Python. Se pueden realizar muchas operaciones en una suma, resta, multiplicación, etc. similar a una matriz.

Python no tiene una forma sencilla de implementar un tipo de datos de matriz.

La matriz de python hace uso de matrices, y se puede implementar lo mismo.

Cree Python Matrix utilizando un tipo de datos de lista anidada

En Python, las matrices se representan utilizando el tipo de datos de lista. Así que ahora usaré la lista para crear una matriz de python.

Crearemos una matriz de 3×3, como se muestra a continuación:

La matriz dentro de una lista con todas las filas y columnas es como se muestra a continuación:

List = [[Row1], 
           [Row2], 
           [Row3]
           ...
           [RowN]]

Entonces, según la matriz mencionada anteriormente, el tipo de lista con datos de matriz es el siguiente:

M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]

Para leer datos dentro de Python Matrix usando una lista.

Haremos uso de la matriz definida anteriormente. El ejemplo leerá los datos, imprimirá la matriz, mostrará el último elemento de cada fila.

Ejemplo:Para imprimir la matriz

M1 = [[8, 14, -6], 
           [12,7,4], 
           [-11,3,21]]

#To print the matrix
print(M1)

Salida:

The Matrix M1 =  [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

Ejemplo 2:Para leer el último elemento de cada fila.

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])

Salida:

-6
4
21

Ejemplo 3:Para imprimir las filas en la Matriz

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To print the rows in the Matrix
for i in range(matrix_length):
    print(M1[i])

Salida:

[8, 14, -6]
[12, 7, 4]
[-11, 3, 21]

Adición de matrices usando listas anidadas

Podemos sumar fácilmente dos matrices dadas. Las matrices aquí estarán en forma de lista. Trabajemos en un ejemplo que se encargará de sumar las matrices dadas.

Matriz 1:

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

Matriz 2 :

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

Last inicializará una matriz que almacenará el resultado de M1 + M2.

Matriz 3 :

M3  = [[0,0,0],
            [0,0,0],
            [0,0,0]]

Ejemplo:Adición de Matrices

Para agregar, las matrices harán uso de un ciclo for que recorrerá las dos matrices dadas.

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 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] + M2[i][k]

#To Print the matrix
print("The sum of Matrix M1 and M2 = ", M3)

Salida:

The sum of Matrix M1 and M2 =  [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Multiplicación de Matrices usando Lista Anidada

Para multiplicar las matrices, podemos usar el ciclo for en ambas matrices, como se muestra en el siguiente código:

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 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] * M2[i][k]

#To Print the matrix
print("The multiplication of Matrix M1 and M2 = ", M3)

Salida:

The multiplication of Matrix M1 and M2 =  [[24, 224, 36], [108, 49, -16], [11, 9, 273]]

Crear Python Matrix usando Arrays del paquete Python Numpy

La biblioteca de python Numpy ayuda a lidiar con matrices. Numpy procesa una matriz un poco más rápido en comparación con la lista.

Para trabajar con Numpy, primero debe instalarlo. Siga los pasos que se indican a continuación para instalar Numpy.

Paso 1)

El comando para instalar Numpy es:

pip install NumPy

Paso 2)

Para utilizar Numpy en su código, debe importarlo.

import NumPy

Paso 3)

También puede importar Numpy usando un alias, como se muestra a continuación:

import NumPy as np

Vamos a hacer uso del método array() de Numpy para crear una matriz de python.

Ejemplo:Array en Numpy para crear Python Matrix

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

Salida:

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

Operación de matriz usando Numpy.Array()

La operación de matriz que se puede hacer es suma, resta, multiplicación, transposición, lectura de filas, columnas de una matriz, corte de matriz, etc. En todos los ejemplos, vamos a hacer uso de un método array().

Suma de matrices

Para realizar la suma en la matriz, crearemos dos matrices usando numpy.array() y las sumaremos usando el operador (+).

Ejemplo:

import numpy as np

M1 = 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 + M2  
print(M3)

Salida:

[[ 12 -12  36]
 [ 16  12  48]
 [  6 -12  60]]

Sustracción de matrices

Para realizar la resta en la matriz, crearemos dos matrices usando numpy.array() y las restaremos usando el operador (-).

Ejemplo:

import numpy as np

M1 = 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 - M2  
print(M3)

Salida:

[[ -6  24 -18]
 [ -6 -32 -18]
 [-20  40 -18]]

Multiplicación de matrices

Primero creará dos matrices usando numpy.arary(). Para multiplicarlos, puede utilizar el método numpy dot(). Numpy.dot() es el producto escalar de la matriz M1 y M2. Numpy.dot() maneja las matrices 2D y realiza multiplicaciones de matrices.

Ejemplo:

import numpy as np

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

Salida:

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

Transposición de matriz

La transpuesta de una matriz se calcula cambiando las filas por columnas y las columnas por filas. La función transpose() de Numpy se puede usar para calcular la transposición de una matriz.

Ejemplo:

import numpy as np

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

print(M2)

Salida:

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

Corte de una matriz

El corte le devolverá los elementos de la matriz en función del índice de inicio/fin dado.

Antes de trabajar en el corte de una matriz, primero comprendamos cómo aplicar el corte en una matriz simple.

import numpy as np

arr = np.array([2,4,6,8,10,12,14,16])
print(arr[3:6]) # will print the elements from 3 to 5
print(arr[:5]) # will print the elements from 0 to 4
print(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 -2
print(arr[:-1]) # will print from end i.e. 0 to -2

Salida:

[ 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]

Ahora implementemos el corte en matriz. Para realizar cortes en una matriz

la sintaxis será M1[inicio_fila:fin_fila, inicio_col:fin_col]

La matriz M1 que vamos a utilizar es la siguiente:

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

Hay un total de 4 filas. El índice comienza de 0 a 3. El 0 th la fila es [2,4,6,8,10], 1 st la fila es [3,6,9,-12,-15] seguida de la 2 nd y 3 rd .

La matriz M1 tiene 5 columnas. El índice comienza de 0 a 4. El 0 th la columna tiene valores [2,3,4,5], 1 st las columnas tienen valores [4,6,8,-10] seguidos de 2 nd , 3 rd , 4 th , y 5 th .

Aquí hay un ejemplo que muestra cómo obtener los datos de las filas y columnas de la matriz mediante el corte. En el ejemplo, estamos imprimiendo el 1 st y 2 nd fila, y para columnas, queremos la primera, segunda y tercera columna. Para obtener esa salida hemos usado:M1[1:3, 1:4]

Ejemplo:

import numpy as np

M1 = 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.

Salida:

[[  6   9 -12]
 [  8  12  16]]

Ejemplo:para imprimir todas las filas y la tercera columna

import numpy as np
M1 = 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.

Salida:

[  8 -12  16 -20]

Ejemplo:Para imprimir la primera fila y todas las columnas

import numpy as np

M1 = 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

Salida:

[[ 2  4  6  8 10]]

Ejemplo:Para imprimir las primeras tres filas y las primeras 2 columnas

import numpy as np

M1 = 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])

Salida:

[[2 4]
 [3 6]
 [4 8]]

Acceso a la matriz NumPy

Hemos visto cómo funciona el corte. Teniendo eso en cuenta, veremos cómo obtener las filas y columnas de la matriz.

Para imprimir las filas de la matriz

En el ejemplo imprimirá las filas de la matriz.

Ejemplo:

import numpy as np
M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
print(M1[0])  #first row
print(M1[1]) # the second row
print(M1[-1]) # -1 will print the last row

Salida:

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

Para obtener la última fila, puede utilizar el índice o -1. Por ejemplo, la matriz tiene 3 filas,

entonces M1[0] te dará la primera fila,

M1[1] te dará la segunda fila

M1[2] o M1[-1] le dará la tercera fila o la última fila.

Para imprimir las columnas de la matriz

import numpy as np
M1 = 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 Column
print(M1[:,3]) # Will  print the third Column
print(M1[:,-1]) # -1 will give you the last column

Salida:

[2 3 4 5]
[  8 -12  16 -20]
[ 10 -15 -20  25]

Resumen:


python

  1. Diccionario de Python
  2. Matrices en C++ | Declarar | Inicializar | Ejemplos de puntero a matriz
  3. Declaración Python Print():cómo imprimir con ejemplos
  4. Python String count () con EJEMPLOS
  5. Python String format() Explicar con EJEMPLOS
  6. Método Python String find() con ejemplos
  7. Funciones Python Lambda con EJEMPLOS
  8. Función Python abs():Ejemplos de valores absolutos
  9. Función Python round() con EJEMPLOS
  10. Python range() Función:Flotante, Lista, Para ejemplos de bucle
  11. Función Python map() con EJEMPLOS