Maison > Article > interface Web > Comment colorer le texte et les arrière-plans dans un tableau HTML Pandas Dataframe ?
Coloration du texte et des arrière-plans dans un tableau HTML Pandas Dataframe Python à l'aide de styles et de CSS
Pour personnaliser l'apparence d'un tableau HTML Pandas dataframe, vous pouvez combiner l'attribut style et CSS.
Changer la couleur du texte
Pour changer la couleur du texte dans des lignes spécifiques d'un dataframe, utilisez apply() avec une fonction qui applique un style CSS aux valeurs en fonction des conditions. Par exemple, pour colorer toutes les valeurs des lignes 'MOS' avec une certaine couleur :
<code class="python">def highlight_MOS(s): is_mos = s.index.get_level_values(1) == 'MOS' return ['color: orange' if v else 'color: blue' for v in is_mos] s = df.style.apply(highlight_MOS)</code>
Modification de la couleur d'arrière-plan
Pour définir la couleur d'arrière-plan de certaines cellules , vous pouvez utiliser set_table_styles() et spécifier la propriété background_color :
<code class="python">s.set_table_styles([dict(selector='th', props=[('background-color', 'lightblue')]), dict(selector='td', props=[('background-color', 'white')])])</code>
Cela définira la couleur d'arrière-plan de toutes les cellules d'en-tête sur bleu clair et le reste des cellules sur blanc.
Exemple
En combinant les techniques ci-dessus, voici un exemple de la façon de colorer à la fois le texte et les arrière-plans :
<code class="python">import numpy as np import pandas as pd arrays = [['Midland', 'Midland', 'Hereford', 'Hereford', 'Hobbs','Hobbs', 'Childress', 'Childress', 'Reese', 'Reese', 'San Angelo', 'San Angelo'], ['WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS','WRF','MOS']] tuples = list(zip(*arrays)) index = pd.MultiIndex.from_tuples(tuples) df = pd.DataFrame(np.random.randn(12, 4), index=arrays, columns=['00 UTC', '06 UTC', '12 UTC', '18 UTC']) def highlight_MOS(s): is_mos = s.index.get_level_values(1) == 'MOS' return ['color: orange' if v else 'color: blue' for v in is_mos] s = df.style.apply(highlight_MOS) s.set_table_styles([dict(selector='th', props=[('background-color', 'lightblue')]), dict(selector='td', props=[('background-color', 'white')])]) s</code>
Cela produira un tableau HTML avec du texte orange en ' Lignes de MOS, en-tête bleu clair et arrière-plans d'index de niveau supérieur.
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!