Предупреждение о времени выполнения: недопустимое значение, встречающееся в двойных скалярах в панд python, использующих seaborn

#python #pandas #seaborn #pandas-styles

Вопрос:

Я использовал styler.background_gradient цвета сиборна, и это отлично работало, пока я не начал работать с другими данными. Теперь у меня есть другой набор данных, в котором есть некоторые недостающие данные или странные комбинации, поэтому я получаю некоторые результаты, которые имеют бесконечные значения или что-то не совсем правильное, но все равно мне нужны эти данные, но цветам приходится нелегко. Как мне избежать этого на картинке.

введите описание изображения здесь

Это то, что я вижу, когда экспортирую данные в Excel, и получаю эту ошибку в терминале.

 RuntimeWarning: invalid value encountered in double_scalars
  norm = colors.Normalize(smin - (rng * low), smax   (rng * high))
 

Как этого избежать?

это код

     cr = sns.light_palette("green", as_cmap=True)

    styler = output.style  # Keep Styler for reuse
    green = styler.background_gradient(
        cmap=cr,
        subset=output.columns.get_loc_level('column_name', level=1)[0]
    )
 

Комментарии:

1. Мне также нужно состояние данных (бесконечное, многоиндексное), чтобы ответить на этот вопрос. И что произойдет, если я укажу подмножество следующим образом. subset=[('level0', 'level1')]

2. Я получаю это, потому что у меня плохие данные, у меня есть дела, которые нужно разделить на ноль. Для меня сработало бы просто исключить значение inf, но оно было бы равно нулю. подмножество это не меняет с плохими данными

3. Затем замените inf на NaN, в противном случае фон будет отображаться правильно.