¿Qué es Python Matrix?
Una matriz de Python es una matriz rectangular bidimensional especializada de datos almacenados en filas y columnas. Los datos de una matriz pueden ser números, cadenas, expresiones, símbolos, etc. La matriz 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á:
- ¿Qué es Python Matrix?
- ¿Cómo funcionan las matrices de Python?
- Cree Python Matrix usando un tipo de datos de lista anidada
- Para leer datos dentro de Python Matrix usando una lista.
- Ejemplo 2: Leer el último elemento de cada fila.
- Ejemplo 3: para imprimir las filas en la matriz
- Adición de matrices mediante lista anidada
- Multiplicación de matrices usando lista anidada
- Cree Python Matrix usando matrices del paquete Python Numpy
- Operación de matriz usando Numpy.Array ()
- Accediendo a NumPy Matrix
¿Cómo funcionan las matrices de Python?
Los datos dentro de la matriz bidimensional en formato de matriz tienen el siguiente aspecto:Paso 1)
Muestra una matriz de 2x2. Tiene dos filas y 2 columnas. Los datos dentro de la matriz son números. La fila1 tiene valores 2,3 y la fila2 tiene valores 4,5. Las columnas, es decir, col1, tienen valores 2,4 y col2 tiene valores 3,5.
Paso 2)
Muestra una matriz de 2x3. Tiene dos filas y tres columnas. Los datos dentro de la primera fila, es decir, fila1, tienen valores 2, 3, 4 y fila 2 tienen valores 5, 6, 7. Las columnas col1 tiene valores 2,5, col2 tiene valores 3,6 y col3 tiene 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.
Python no tiene una forma sencilla de implementar un tipo de datos de matriz.
La matriz de Python hace uso de matrices, y las mismas se pueden implementar.
- Cree una matriz de Python utilizando el tipo de datos de lista anidada
- Cree Python Matrix usando matrices del paquete Python Numpy
Cree Python Matrix usando un tipo de datos de lista anidada
En Python, las matrices se representan mediante el tipo de datos de lista. Así que ahora haremos uso de la lista para crear una matriz de Python.
Crearemos una matriz de 3x3, como se muestra a continuación:
- La matriz tiene 3 filas y 3 columnas.
- La primera fila en un formato de lista será la siguiente: [8,14, -6]
- La segunda fila de una lista será: [12,7,4]
- La tercera fila de una lista será: [-11,3,21]
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 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. 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 matrixprint(M1)
Producción:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Ejemplo 2: 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])
Producción:
-6421
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 Matrixfor i in range(matrix_length):print(M1[i])
Producción:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Adición de matrices mediante 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 agregar 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: sumar matrices
Para agregar, las matrices harán uso de un bucle for que recorrerá ambas 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 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)
Producción:
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 bucle 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 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)
Producción:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Cree Python Matrix usando matrices 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 hacer uso de 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 npM1 = 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, transponer, leer las filas, columnas de una matriz, rebanar la matriz, etc. En todos los ejemplos vamos a hacer uso de un método array ().
Adición de matrices
Para realizar la suma en la matriz, crearemos dos matrices usando numpy.array () y las agregaremos usando el operador (+).
Ejemplo:
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)
Producción:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Resta 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 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)
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 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 npM1 = 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 una matriz se calcula cambiando las filas como columnas y las columnas como filas. La función transpose () de Numpy se puede utilizar para calcular la transposición de una matriz.
Ejemplo:
import numpy as npM1 = 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]]
Rebanado de una matriz
El corte le devolverá los elementos de la matriz en función del índice de inicio / finalización proporcionado.
- La sintaxis para segmentar es - [inicio: fin]
- Si no se proporciona el índice de inicio, se considera 0. Por ejemplo, [: 5], significa [0: 5].
- Si no se pasa el final, se tomará como la longitud de la matriz.
- Si el inicio / final tiene valores negativos, el corte se realizará desde el final de la matriz.
Antes de trabajar en el corte en una matriz, primero comprendamos cómo aplicar el corte en una matriz simple.
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
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 implementemos el corte en matriz. Para realizar el corte en una matriz
la sintaxis será M1 [row_start: row_end, col_start: col_end]
- El primer inicio / final será para la fila, es decir, para seleccionar las filas de la matriz.
- El segundo inicio / final será para la columna, es decir, para seleccionar las columnas de la matriz.
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. La 0ª fila es [2,4,6,8,10], la 1ª fila es [3,6,9, -12, -15] seguida de la 2ª y 3ª .
La matriz M1 tiene 5 columnas. El índice comienza de 0 a 4. La 0ª columna tiene valores [2,3,4,5], la 1ª columna tiene valores [4,6,8, -10] seguida de la 2ª , 3ª , 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 la 1ª y 2ª fila, y para las columnas, queremos la primera, la segunda y la tercera columna. Para obtener esa salida, hemos utilizado: M1 [1: 3, 1: 4]
Ejemplo:
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.
Producción:
[[ 6 9 -12][ 8 12 16]]
Ejemplo: para imprimir todas las filas y terceras columnas
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.
Producción:
[ 8 -12 16 -20]
Ejemplo: para imprimir la primera fila y todas las columnas
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
Producción:
[[ 2 4 6 8 10]]
Ejemplo: para imprimir las primeras tres filas y las primeras 2 columnas
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])
Producción:
[[2 4][3 6][4 8]]
Accediendo a NumPy Matrix
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 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
Producción:
[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] le dará la primera fila,
M1 [1] le 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 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
Producción:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Resumen:
- Una matriz de Python es una matriz rectangular bidimensional especializada de datos almacenados en filas y columnas. Los datos de una matriz pueden ser números, cadenas, expresiones, símbolos, etc. La matriz es una de las estructuras de datos importantes que se pueden utilizar en cálculos matemáticos y científicos.
- Python no tiene una forma sencilla de implementar un tipo de datos de matriz. La matriz de Python se puede crear usando un tipo de datos de lista anidada y usando la biblioteca 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.
- La operación matricial que se puede realizar es suma, resta, multiplicación, transponer, leer las filas, columnas de una matriz, rebanar la matriz, etc.
- Para agregar dos matrices, puede hacer uso de numpy.array () y agregarlas usando el operador (+).
- 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.
- La transposición de una matriz se calcula cambiando las filas como columnas y las columnas como filas. La función transpose () de Numpy se puede utilizar para calcular la transposición de una matriz.
- Cortar una matriz le devolverá los elementos basados en el índice inicial / final dado.