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

Operaciones con matrices en Python con NumPy: Transpuesta, adición, multiplicación y slicing – Guía práctica

Operaciones con matrices en Python con NumPy: Transpuesta, adición, multiplicación y slicing

El modelado matemático, computación científica y análisis de datos a menudo dependen de la manipulación eficiente de datos bidimensionales. En Python, las matrices pueden crearse con listas simples o, más poderosamente, con la librería NumPy. Esta guía recorre las operaciones de matrices más comunes, con ejemplos de código claros y consejos de mejores prácticas.

¿Qué es una matriz?

Una matriz es un array rectangular de números (u otros tipos de datos) organizados en filas y columnas. Aunque Python carece de un tipo matriz dedicado en su lenguaje central, puedes representar una con listas anidadas o con ndarray de NumPy, que ofrece operaciones vectorizadas rápidas.

Crear una matriz con listas anidadas

Las listas anidadas son la forma más simple de construir una matriz. Cada lista interna representa una fila:

# Matriz 3x3
M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
print(M1)

Salida:

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

Lectura de datos

Accede a elementos vía índices de fila y columna. Para imprimir el último elemento de cada fila:

for fila in M1:
    print(fila[-1])

Salida:

-6
4
21

Adición de matrices

Cuando ambas matrices comparten la misma forma, la adición elemento a elemento es directa:

M2 = [[3, 16, -6], [9, 7, -4], [-1, 3, 13]]
# Matriz resultado
M3 = [[M1[i][j] + M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Salida:

[[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Multiplicación elemento a elemento

Similarmente, puedes multiplicar elementos correspondientes:

M3 = [[M1[i][j] * M2[i][j] for j in range(len(M1[0]))] for i in range(len(M1))]
print(M3)

Salida:

[[24, 224, 36], [108, 49, -16], [11, 9, 273]]

Usando NumPy para operaciones de matrices eficientes

NumPy proporciona un tipo de array dedicado y una gran cantidad de operaciones vectorizadas. Instálalo con pip install numpy e impórtalo como np:

import numpy as np

Crear una matriz

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

Salida:

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

Operaciones básicas

Ejemplo: Producto punto de matrices

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

Salida:

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

Slicing (rebanado)

Rebana filas y columnas con array[inicio_fila:fin_fila, inicio_col:fin_col]:

M = np.array([[2, 4, 6, 8, 10],
              [3, 6, 9, -12, -15],
              [4, 8, 12, 16, -20],
              [5, -10, 15, -20, 25]])
print(M[1:3, 1:4])  # filas 1-2, columnas 1-3
print(M[:, 3])      # todas las filas, 4ta columna
print(M[:1, :])     # primera fila, todas las columnas
print(M[:3, :2])    # primeras 3 filas, primeras 2 columnas

Salida:

[[ 6  9 -12]
 [ 8 12 16]]
[ 8 -12 16 -20]
[[ 2  4  6  8 10]]
[[ 2  4]
 [ 3  6]
 [ 4  8]]

Acceso a filas y columnas

# Filas
print(M[0])     # primera fila
print(M[-1])    # última fila
# Columnas
print(M[:, 0])  # primera columna
print(M[:, -1]) # última columna

Conclusiones clave

python

  1. Arrays en C++: Declaración, inicialización y técnicas con punteros
  2. Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
  3. Función print() en Python: Guía Práctica con Ejemplos
  4. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  5. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  6. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
  7. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
  8. Función abs() en Python: calcular valores absolutos para números y complejos
  9. Función round() en Python explicada con ejemplos prácticos
  10. Dominando la función range() de Python: desde lo básico a casos avanzados
  11. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas