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)
Вот как в этом примере работала функция условного форматирования:
- Для значений меньше 10 используйте светло-зеленый фон с жирным красным шрифтом.
- Для значений ≥ 10 , но меньше 15 используйте желтый фон.
- Для значений больше 15 не используйте условное форматирование.
Не стесняйтесь использовать столько функций if , elif и else , сколько хотите, применяя столько правил условного форматирования к ячейкам в DataFrame, сколько захотите.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как добавить заголовок таблицы в Pandas DataFrame
Как отобразить все строки в DataFrame Pandas
Как отобразить все столбцы DataFrame Pandas