Панды style.background_gradient игнорировать NaN - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть следующий код для вывода кадра данных results в таблицу в HTML, так что столбцы в TIME_FRAMES окрашены в соответствии с картой цветов из seaborn.

import seaborn as sns

TIME_FRAMES = ["24h", "7d", "30d", "1y"]

# Set CSS properties for th elements in dataframe
th_props = [
    ('font-size', '11px'),
    ('text-align', 'center'),
    ('font-weight', 'bold'),
    ('color', '#6d6d6d'),
    ('background-color', '#f7f7f9')
]

# Set CSS properties for td elements in dataframe
td_props = [
    ('font-size', '11px')
]


cm = sns.light_palette("green", as_cmap=True)
s = (results.style.background_gradient(cmap=cm, subset=TIME_FRAMES)
                  .set_table_styles(styles))
a = s.render()
with open("test.html", "w") as f:
    f.write(a)

Отсюда я получаю предупреждение:

/ python3.7 / site-packages / matplotlib / colors.py: 512: RuntimeWarning: встречается недопустимое значение меньше xa [xa <0] = -1 </p>

И, как вы можете видеть на рисунке ниже, столбцы 30d и 1y отображаются неправильно, так как имеют NaN. Как я могу просто сделать так, чтобы значения NaN игнорировались, а цвета отображались только с использованием допустимых значений? Установка NaN в 0 недопустима, так как здесь значения NaN сами по себе имеют значение.

enter image description here

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