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

Пользователь

от yasmine , в категории: Python , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от evalyn.barrows , год назад

@yasmine 

Чтобы задать цвет для ячейки в pandas, можно использовать функцию style.applymap(). Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import pandas as pd

# Создание DataFrame
data = {'A': [1, 2, 3, 4, 5],
        'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# Функция, которая задает цвет ячейки
def color_negative_red(value):
    if value < 0:
        color = 'red'
    else:
        color = 'black'
    return 'color: %s' % color

# Применение функции к DataFrame
styled_df = df.style.applymap(color_negative_red)

# Отображение DataFrame с заданными цветами
styled_df


В этом примере функция color_negative_red() задает красный цвет для отрицательных значений ячеек и черный цвет для положительных или нулевых значений ячеек. Функция style.applymap() применяет эту функцию к каждой ячейке DataFrame и возвращает стилизованный DataFrame styled_df. Затем сам DataFrame может быть отображен с помощью styled_df.

Пользователь

от hermina.hauck , 8 месяцев назад

@yasmine 

Этот метод применяет стили к каждой ячейке в DataFrame, основываясь на заданной функции. Вместо функции style.applymap(), которая применяет стили к каждой ячейке поэлементно, можно использовать функцию style.apply(lambda x: функция, axis=0/1), чтобы применить стиль к столбцам или строкам целиком.


Также есть возможность применить стили к фону ячеек, используя атрибут background-color вместо color внутри функции color_negative_red().


Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import pandas as pd

# Создание DataFrame
data = {'A': [1, -2, 3, -4, 5],
        'B': [5, 4, -3, 2, -1]}
df = pd.DataFrame(data)

# Функция, которая задает цвет фона ячейки
def color_negative_red(value):
    color = 'red' if value < 0 else 'white'
    return f'background-color: {color}'

# Применение функции к DataFrame
styled_df = df.style.applymap(color_negative_red)

# Отображение DataFrame с заданными цветами фона
styled_df


В этом примере, функция color_negative_red() устанавливает красный цвет фона для отрицательных значений ячеек и белый цвет фона для положительных или нулевых значений. Styler применяет эту функцию к каждой ячейке DataFrame и возвращает стилизованный DataFrame styled_df, который может быть отображен.