Cómo extraer una columna de la matriz de Python
Para leer una columna de una matriz, previamente creada con la instrucción array de numpy, desplace los elementos en las filas de la matriz o transponga la matriz.
Ejemplo
m=array([[1,2,3],[4,5,6],[7,8,9]])
Este objeto es equivalente a una matriz de 3x3 (3 filas x 3 columnas)
Intentemos extraer la primera columna con Python.
El problema tiene las siguientes soluciones:
Solución 1
La matriz puede ser transpuesta.
m.T
El método .T crea un objeto con columnas organizadas en listas
Es la matriz transpuesta de m con líneas en lugar de columnas.
array([[1, 4, 7],
[2, 5, 8],
[3, 6, 9]])
Ahora, para leer la primera columna, se puede extraer simplemente la primera fila de la matriz transpuesta.
La primera columna es el número 0.
m.T[0]
El comando devuelve los elementos de la primera columna de la matriz.
array([1, 4, 7])
Es la primera columna de la matriz m.
Solución 2
Para seleccionar una columna de la matriz, se puede seleccionar los elementos de la columna i-th desplazando las filas.
Esta instrucción se desplaza por todas las filas de la matriz m y lee el segundo elemento de cada una utilizando la función row[1].
[row[1] for row in m]
El resultado de salida es el siguiente:
[2, 5, 8]
Es la segunda columna de la matriz inicial.
De la misma manera, la tercera columna se puede leer con row [2].
La primera columna se puede leer con row[0].
Nota. El programa debe leer todas las líneas de la matriz para extraer una sola columna.