Pandas : comment appliquer une mise en forme conditionnelle aux cellules
Vous pouvez utiliser la fonction df.style.applymap() pour appliquer une mise en forme conditionnelle aux cellules d’un DataFrame pandas.
L’exemple suivant montre comment utiliser cette fonction dans la pratique.
Exemple : appliquer une mise en forme conditionnelle aux cellules dans Pandas
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :
import pandas as pd #create DataFrame 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
Nous pouvons utiliser le code suivant pour appliquer un arrière-plan vert clair à chaque cellule du DataFrame qui a une valeur inférieure à 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)
Notez que chaque cellule du DataFrame ayant une valeur inférieure à 10 a désormais un arrière-plan vert clair.
Remarque : Si la mise en forme conditionnelle ne fonctionne pas dans un notebook Jupyter, assurez-vous d’abord d’exécuter la commande %pip install Jinja2 .
Nous pouvons également utiliser les arguments color et font-weight pour appliquer une mise en forme conditionnelle plus complexe.
L’exemple suivant montre comment procéder :
#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)
Voici comment la fonction de formatage conditionnel a fonctionné dans cet exemple :
- Pour les valeurs inférieures à 10 , utilisez un fond vert clair avec une police rouge en gras
- Pour les valeurs ≥ 10 mais inférieures à 15 , utilisez un fond jaune
- Pour les valeurs supérieures à 15 , n’utilisez aucune mise en forme conditionnelle
N’hésitez pas à utiliser autant de fonctions if , elif et else que vous le souhaitez pour appliquer autant de règles de mise en forme conditionnelle aux cellules du DataFrame que vous le souhaitez.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment ajouter un titre de table au Pandas DataFrame
Comment afficher toutes les lignes d’un DataFrame Pandas
Comment afficher toutes les colonnes d’un DataFrame Pandas