Pandas: как применить условное форматирование к ячейкам


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

В следующем примере показано, как использовать эту функцию на практике.

Пример. Применение условного форматирования к ячейкам в Pandas

Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о различных баскетболистах:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [4, 5, 5, 4, 9, 12, 11, 8],
                   ' rebounds ': [3, 9, 12, 4, 4, 9, 8, 2]})

#view DataFrame
print (df)

   points assists rebounds
0 18 4 3
1 22 5 9
2 19 5 12
3 14 4 4
4 14 9 4
5 11 12 9
6 20 11 8
7 28 8 2

Мы можем использовать следующий код, чтобы применить светло-зеленый фон к каждой ячейке DataFrame, имеющей значение меньше 10:

 #define function for conditional formatting
def cond_formatting (x):
    if x < 10 :
        return ' background-color: lightgreen '
    else :
        return None
    
#display DataFrame with conditional formatting applied    
df. style . applymap (cond_formatting)

панда условное форматирование

Обратите внимание, что каждая ячейка DataFrame со значением меньше 10 теперь имеет светло-зеленый фон.

Примечание . Если условное форматирование не работает в блокноте Jupyter, обязательно сначала запустите команду %pip install Jinja2 .

Мы также можем использовать аргументы цвета и веса шрифта для применения более сложного условного форматирования.

В следующем примере показано, как это сделать:

 #define function for conditional formatting
def cond_formatting (x):
    if x < 10 :
        return ' background-color: lightgreen; color:red; font-weight:bold '
    elif x < 15 :
        return ' background-color:yellow '
    else :
        return None
    
#display DataFrame with conditional formatting applied    
df. style . applymap (cond_formatting) 

условное форматирование pandas с несколькими условиями

Вот как в этом примере работала функция условного форматирования:

  • Для значений меньше 10 используйте светло-зеленый фон с жирным красным шрифтом.
  • Для значений ≥ 10 , но меньше 15 используйте желтый фон.
  • Для значений больше 15 не используйте условное форматирование.

Не стесняйтесь использовать столько функций if , elif и else , сколько хотите, применяя столько правил условного форматирования к ячейкам в DataFrame, сколько захотите.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как добавить заголовок таблицы в Pandas DataFrame
Как отобразить все строки в DataFrame Pandas
Как отобразить все столбцы DataFrame Pandas

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *