Maison >développement back-end >Tutoriel Python >Comment colorer des cellules spécifiques en fonction de l'index de ligne et du nom de colonne dans les pandas ?
J'ai un dataframe df avec une forme (100,10) et un dictionnaire columns_to_color pour chaque ligne.
columns_to_color = { 0: ['col1', 'col2', 'col9'], # Columns 1, 2 and 9 should be colored for row 0 1: ['col1', 'col5', 'col8'], # Columns 1, 5 and 8 should be colored for row 1 2: ['col3', 'col4', 'col7'], # Columns 3, 4 and 7 should be colored for row 2 .......
Comment colorer des cellules spécifiques pour chaque ligne de cette colonne ? Et puis sauvegarder pour exceller ?
Vous pouvez utiliser 。 style.apply()
comme ceci :
df.style.apply( lambda row: [ 'font-weight: bold' if col in columns_to_color[row.name] else '' for col in row.index], axis=1)
(J'utilise le gras uniquement pour plus de commodité.)
Ensuite, pour convertir vers Excel, utilisez .to_excel()
.
Exemple :
df = pd.DataFrame({f'col{n}': range(10*n, 10*n + 3) for n in range(10)})
Après apply
(dans mon idée) :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!