Saltar al contenido

Ejemplos Arrays Transpose, Multiplication, NumPy

¿Qué es Python Matrix?

La matriz de Python es un conjunto rectangular bidimensional especializado de datos almacenados en filas y columnas. Los datos de una matriz pueden ser números, cadenas, frases, símbolos, etc. Matrix es una de las estructuras de datos importantes que se pueden utilizar en cálculos matemáticos y científicos.

En este tutorial de Python, aprenderá:

¿Cómo funciona Python Matrices?

Los siguientes son los datos dentro de la matriz bidimensional en formato de matriz:

Paso 1)

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

Paso 2)

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

Del mismo modo, puede almacenar sus datos dentro de la matriz nxn en Python. Se pueden realizar operaciones de mejora como matriz, resta, multiplicación, etc.

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

La matriz de Python usa matrices y se puede aplicar lo mismo.

Cree una matriz de Python utilizando un tipo de datos de lista anidada

En Python, las matrices se representan mediante el tipo de datos de lista. Entonces, ahora la lista se usará para crear una matriz de Python.

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

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


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

Según la matriz enumerada 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.

Usaremos la matriz definida anteriormente. La muestra 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)

Producción:


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

Ejemplo 2: lea 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])

Producción:


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

Producción:


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

Agregar matrices a la lista anidada

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

Por último, se iniciará una matriz que almacenará el resultado M1 + M2.

Matriz 3:


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

Ejemplo: sumar matrices

Para agregar, las matrices usarán un bucle 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)

Producción:


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

Multiplicar matrices usando una lista anidada

Para multiplicar las matrices, podemos usar el bucle-bucle 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)

Producción:


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

Cree una matriz de Python utilizando matrices del paquete Numpy Python

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

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

Paso 1)

El comando para instalar Numpy es:

pip install NumPy

Paso 2)

Para usar 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 usar el método de matriz () de Numpy para crear una matriz de Python.

Ejemplo: matriz en Numpy para crear una matriz de Python


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

Producción:


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

Operación de matriz usando Numpy.Array ()

La operación matricial que se puede realizar es suma, resta, multiplicación, transposición, lectura de filas, columnas de la matriz, corte de la matriz, etc. En todos los ejemplos, usaremos el método de matriz ().

Adición de matrices

Para sumar la matriz, crearemos dos matrices usando numpy.array () y las agregaremos 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)

Producción:


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

Resta de matrices

Para restar 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)

Producción:


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

Multiplicación de matrices

Primero creará dos matrices usando numpy.arary (). Para multiplicarlos, puede usar el método numpy dot (). Numpy.dot () es un producto de matriz de puntos de M1 y M2. Numpy.dot () maneja las matrices 2D y realiza la multiplicación 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)

Producción:


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

Transposición de matriz

La transposición de la matriz se calcula convirtiendo las filas como columnas y las columnas como filas. La función de transposición () de Numpy se puede utilizar para calcular la transposición de la matriz.

Ejemplo:


import numpy as np

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

print(M2)

Producción:


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

Cortar una matriz

Cortar los elementos de la matriz lo devolverá en función del índice de inicio / fin dado.

Antes de trabajar en el corte en una matriz, primero comprendamos cómo aplicar un 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

Producción:


[ 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 apliquemos un trozo de matriz. Cortar una matriz

la sintaxis es M1[row_start:row_end, col_start:col_end]

La matriz M1 que estamos usando 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 4 juegos en total. El índice comienza de 0 a 3. El 0ú en una fila es el [2,4,6,8,10], 1S t que esta en una fila [3,6,9,-12,-15] 2 seguidosDakota del Norte y 3rd.

La matriz M1 contiene 5 columnas. El índice comienza de 0 a 4.ú la columna tiene valores [2,3,4,5], 1S t las columnas tienen valores [4,6,8,-10] 2 seguidosDakota del Norte, 3rd, 4úy 5ú.

A continuación, se muestra un ejemplo que muestra cómo obtener los datos de filas y columnas de la matriz mediante la división. En el ejemplo, estamos imprimiendo el 1S t y 2Dakota del Norte fila, y para las columnas, necesitamos la primera, segunda y tercera columnas. Para obtener esa salida usamos: 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.

Producción:


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

Ejemplo: imprimir todas las filas y terceras 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]) # This will print all rows and the third column data.

Producción:


[  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

Producción:


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

Producción:


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

Acceso a NumPy Matrix

Vimos cómo funciona el corte. Con eso en mente, veremos cómo obtener las filas y columnas de la matriz.

Para imprimir las capas de la matriz

En el ejemplo se imprimirán las capas 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

Producción:


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

Para obtener la última fila, puede usar el índice o -1. Por ejemplo, hay 3 capas en la matriz,

entonces M1[0] que te dará el primer juego,

M1[1] te dará un segundo set

M1[2] o M1[-1] que le dará la tercera o ú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

Producción:


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

Resumen: