1irpd6i Li6pnv 1g Xpuig.png

Dar forma, transponer, unir y dividir matrices

Un cubo de Rubik en escala de grises se golpea a sí mismo con un martillo, rompiendo pequeños cubos.
Manipulación de una matriz tal como la imaginó DALL-E3

Bienvenidos a la Parte 3 de Presentando NumPyuna introducción para aquellos nuevos en esta biblioteca esencial de Python. Parte 1 presentó las matrices NumPy y cómo crearlas. Parte 2 Se abordó la indexación y la segmentación de matrices. En la parte 3 se mostrará cómo manipular matrices existentes reformándolas, intercambiando sus ejes y fusionándolas y dividiéndolas. Estas tareas son útiles para trabajos como rotar, agrandar y trasladar imágenes y ajustar modelos de aprendizaje automático.

NumPy viene con métodos para cambiar la forma de las matrices, transponer matrices (invertir columnas con filas) e intercambiar ejes. Ya has estado trabajando con el reshape() método en esta serie.

Una cosa a tener en cuenta con reshape() es que, como todas las asignaciones de NumPy, crea una vista de una matriz en lugar de una CopiarEn el siguiente ejemplo, al cambiar la forma de arr1d La matriz produce solo un cambio temporal en la matriz:

In [1]: import numpy as np

In [2]: arr1d = np.array([1, 2, 3, 4])

In [3]: arr1d.reshape(2, 2)
Out[3]:
array([[1, 2],
[3, 4]])

In [4]: arr1d
Out[4]: array([1, 2, 3, 4])

Este comportamiento es útil cuando desea temporalmente cambiar la forma de la matriz para usarla en un…