¿Existe alguna manera elegante de explotar la función de espaciado correcta de print numpy.array
para obtener una matriz 2D, con las etiquetas adecuadas, que se alinee correctamente? Por ejemplo, dada una matriz con 4 filas y 5 columnas, ¿cómo puedo proporcionar la matriz y las listas de tamaño adecuado correspondientes a las columnas de la fila y el encabezado para generar algún resultado que se vea así?¿Cómo imprimo una matriz numpy alineada con etiquetas de fila y columna (de texto)?
A B C D E
Z [[ 85 86 87 88 89]
Y [ 90 191 192 93 94]
X [ 95 96 97 98 99]
W [100 101 102 103 104]]
Si ingenuamente trato:
import numpy
x = numpy.array([[85, 86, 87, 88, 89], \
[90, 191, 192, 93, 94], \
[95, 96, 97, 98, 99], \
[100,101,102,103,104]])
row_labels = ['Z', 'Y', 'X', 'W']
print " A B C D E"
for row, row_index in enumerate(x):
print row_labels[row_index], row
me sale:
A B C D E
Z [85 86 87 88 89]
Y [90 191 192 93 94]
X [95 96 97 98 99]
W [100 101 102 103 104]
¿Hay alguna manera que puedo conseguir cosas que se alinean de forma inteligente? Definitivamente estoy abierto a usar cualquier otra biblioteca si hay una mejor manera de resolver mi problema.