Introducción al análisis de datos en Python con Numpy

Arrays transpuestos

Una matriz transpuesta es una matriz que refleja a otra, de manera que las columnas se vuelven filas y las filas columnas:

Evidentemente la transpuesta de una matriz transpuesta es equivalente a la matriz original:

Lo interesante es que con numpy podemos conseguir el array transpuesto muy fácilmente.

# %%
import numpy as np

arr = np.array([[1,2,3],[4,5,6]])
arr

# Tranpuesta
arr.T

# Tranpuesta de la transpuesta
arr.T.T

Por cierto, la función swapaxes sirve precisamente para intercambiar la posición de los dos ejes de un array, así que sirve para lo mismo:

# Intercambiar las filas por las columnas
arr.swapaxes(0,1)
arr.swapaxes(1,0) # Es lo mismo

Evidentemente también podemos encontrar el array transpuesto de un array de 3 o más dimensiones:

# Creamos un array 3d
arr_3d = np.arange(8).reshape(2,2,2)
arr_3d

# Buscamos el array transpuesto
arr_3d.T

O intercambiar los ejes con swapaxes, por ejemplo la primera dimensión por la tercera, que en nuestro caso sería equivalente al array transpuesto:

arr_3d.swapaxes(0,2)

En cambio no lo sería intercambiar la primera por la segunda:

arr_3d.swapaxes(0,1)