Как мне напечатать выровненный массив numpy с (текстовыми) метками строк и столбцов?

Есть ли какой-нибудь элегантный способ использовать функцию правильного интервала print numpy.array , чтобы получить 2D-массив с правильными метками -А выравнивается правильно? Например, учитывая массив с 4 строками и 5 столбцами, как я могу предоставить массив и списки подходящего размера, соответствующие столбцам строки и заголовка, чтобы сгенерировать вывод, который выглядит примерно так?

      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]]

Если я наивно попробую:

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

Я получил:

      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]

Есть ли способ заставить вещи грамотно выстроиться в линию? Я определенно открыт для использования любой другой библиотеки, если есть лучший способ решить мою проблему.

10
задан wwwilliam 19 February 2011 в 01:39
поделиться