Как задать цвет для ячейки в Pandas?

имеется датафрейм, где в последнем столбце указаны названия цветов, с помощью каких методов и функции возможно окрасить ячейки из столбца keyword используя цвет из последнего столбца? введите сюда описание изображения


Ответы (1 шт):

Автор решения: D.Vinogradov

Вариант возможен такой.

Делаем словарь из двух столбцов, в Вашем случае это keyword & color.

Однако здесь может быть небольшая загвоздка, если значения в keyword будут повторяться, и при этом значения в color будут меняться. В этом случае, при создании словаря, он возьмет последнюю пару ключ-значение. Как это можно обойти? В тех случаях, где значения меняются, добавить к ключу символ, цифру или неважно что, главное, чтобы название немного изменилось.

Если же определенному значению из keyword всегда соответсвует определенное значение цвета, то делаем следующее (на примере простого фрейма):

df_1 = pd.DataFrame({'keyword': ['somewhere', 'somewhat', 'something'], 
                     'count':[45, 23, 56],
                     'color': ['blue', 'green', 'yellow']})

Создаем словарь:

new_dict = pd.Series(df_1.color.values,index=df_1.keyword).to_dict()

Применяем:

df_1.style.applymap(lambda v: f"background-color: {new_dict.get(v, 'None')}")

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

→ Ссылка