Pandas: como aplicar formatação condicional às células


Você pode usar a função df.style.applymap() para aplicar formatação condicional às células em um DataFrame do pandas.

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: Aplicar formatação condicional a células no Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:

 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

Podemos usar o código a seguir para aplicar um fundo verde claro a cada célula do DataFrame que tenha um valor menor que 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)

formatação condicional do panda

Observe que cada célula do DataFrame com valor menor que 10 agora tem um fundo verde claro.

Nota : Se a formatação condicional não funcionar em um notebook Jupyter, certifique-se de executar o comando %pip install Jinja2 primeiro.

Também podemos usar os argumentos color e font-weight para aplicar uma formatação condicional mais complexa.

O exemplo a seguir mostra como fazer isso:

 #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) 

formatação condicional do pandas com múltiplas condições

Veja como a função de formatação condicional funcionou neste exemplo:

  • Para valores menores que 10 , use um fundo verde claro com uma fonte vermelha em negrito
  • Para valores ≥ 10 mas menores que 15 , usar fundo amarelo
  • Para valores maiores que 15 , não utilize nenhuma formatação condicional

Sinta-se à vontade para usar quantas funções if , elif e else desejar para aplicar quantas regras de formatação condicional desejar às células no DataFrame.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como adicionar um título de tabela ao Pandas DataFrame
Como exibir todas as linhas em um DataFrame do Pandas
Como exibir todas as colunas de um DataFrame do Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *