Как отформатировать десятичные цифры индекса при использовании pandas.io.formats.style.Styler? - PullRequest
0 голосов
/ 18 апреля 2019

Используя python 3 на ноутбуке jupyter, я пытаюсь отобразить кадр данных pandas в виде таблицы, в которой выделены некоторые ячейки. Я нашел это хорошее руководство https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html для форматирования, как я хочу, однако он как-то портит десятичные цифры некоторых индексов.

В частности, я начинаю с этого фрейма данных metrics, где столбец threshold - это индекс (правильно отображается с двумя десятичными цифрами):

метрика данных кадра

И я получаю следующее table, которое имеет тип pandas.io.formats.style.Styler:

стиль табличного формата

Как видите, ячейки подсвечены, но некоторые индексы появляются с большим количеством цифр.

Код, который я использую, указан ниже:

def highlight_likewise_gray(s):
    '''
    highlight the maximum in grayscale model.
    '''
    is_equivalent = (s >= F1_score_gray_best - 0.02)
    return ['background-color: yellow' if v else '' for v in is_equivalent]

def highlight_likewise_rgb(s):
    '''
    highlight the maximum in RGB model.
    '''
    is_equivalent = (s >= F1_score_rgb_best - 0.02)
    return ['background-color: yellow' if v else '' for v in is_equivalent]

table = metrics.style.apply(highlight_likewise_rgb,subset=['F1_rgb']).apply(highlight_likewise_gray,subset=['F1_gray'])

Я подозреваю, что это может произойти из-за странного способа, которым pd.Index преобразует np.arange индексов, когда я создаю фрейм данных.

threshold = np.arange(start=0, stop=0.6, step=0.05)
pandas.Index(threshold)

Тем не менее мне удалось исправить визуализацию в кадре данных, но не в стиле.

Любой совет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...