Pandas: як застосувати умовне форматування до клітинок


Ви можете використовувати функцію df.style.applymap() , щоб застосувати умовне форматування до клітинок у pandas DataFrame.

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: застосування умовного форматування до клітинок у Pandas

Припустімо, що у нас є такий фрейм даних 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)

умовне форматування panda

Зауважте, що кожна клітинка в DataFrame зі значенням менше 10 тепер має світло-зелений фон.

Примітка : якщо умовне форматування не працює в блокноті Jupyter, переконайтеся, що спочатку запустили команду %pip install Jinja2 .

Ми також можемо використовувати аргументи color і font-weight для застосування більш складного умовного форматування.

У наступному прикладі показано, як це зробити:

 #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
Як відобразити всі рядки у Pandas DataFrame
Як відобразити всі стовпці Pandas DataFrame

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *