Panda: come applicare la formattazione condizionale alle celle
È possibile utilizzare la funzione df.style.applymap() per applicare la formattazione condizionale alle celle in un DataFrame panda.
L’esempio seguente mostra come utilizzare questa funzione nella pratica.
Esempio: applicare la formattazione condizionale alle celle in Panda
Supponiamo di avere il seguente DataFrame panda che contiene informazioni su vari giocatori di basket:
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
Possiamo utilizzare il seguente codice per applicare uno sfondo verde chiaro a ciascuna cella del DataFrame che ha un valore inferiore a 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)
Tieni presente che ogni cella nel DataFrame con un valore inferiore a 10 ora ha uno sfondo verde chiaro.
Nota : se la formattazione condizionale non funziona in un notebook Jupyter, assicurati di eseguire prima il comando %pip install Jinja2 .
Possiamo anche utilizzare gli argomenti colore e peso carattere per applicare una formattazione condizionale più complessa.
L’esempio seguente mostra come eseguire questa operazione:
#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)
Ecco come ha funzionato la funzione di formattazione condizionale in questo esempio:
- Per valori inferiori a 10 , utilizzare uno sfondo verde chiaro con un carattere rosso in grassetto
- Per valori ≥ 10 ma inferiori a 15 utilizzare uno sfondo giallo
- Per valori maggiori di 15 , non utilizzare alcuna formattazione condizionale
Sentiti libero di utilizzare tutte le funzioni if , elif e else che desideri per applicare tutte le regole di formattazione condizionale che desideri alle celle nel DataFrame.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:
Come aggiungere il titolo di una tabella a Pandas DataFrame
Come visualizzare tutte le righe in un Pandas DataFrame
Come visualizzare tutte le colonne di un Pandas DataFrame