Comment colorer des cellules spécifiques en fonction de l'index de ligne et du nom de colonne dans les pandas ?

WBOY
Libérer: 2024-02-15 16:39:03
avant
770 Les gens l'ont consulté

如何在 pandas 中给定行索引和列名称的特定单元格上色?

Contenu de la question

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
  .......
Copier après la connexion

Comment colorer des cellules spécifiques pour chaque ligne de cette colonne ? Et puis sauvegarder pour exceller ?


Bonne réponse


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)
Copier après la connexion

(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)})
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal