Heim  >  Artikel  >  Web-Frontend  >  Wie färbe ich Text und Hintergründe in einer Pandas Dataframe-HTML-Tabelle ein?

Wie färbe ich Text und Hintergründe in einer Pandas Dataframe-HTML-Tabelle ein?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 21:57:02280Durchsuche

How to Color Text and Backgrounds in a Pandas Dataframe HTML Table?

Färben von Text und Hintergründen in einer Pandas-Dataframe-HTML-Tabelle mit Python mithilfe von Stilen und CSS

Um das Erscheinungsbild einer Pandas-Dataframe-HTML-Tabelle anzupassen, Sie können das Stilattribut und CSS kombinieren.

Text ändern Farbe

Um die Textfarbe in bestimmten Zeilen eines Datenrahmens zu ändern, verwenden Sie apply() mit einer Funktion, die basierend auf Bedingungen einen CSS-Stil auf die Werte anwendet. Um beispielsweise alle Werte in den „MOS“-Zeilen mit einer bestimmten Farbe einzufärben:

<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>

Hintergrundfarbe ändern

Um die Hintergrundfarbe bestimmter Zellen festzulegen , können Sie set_table_styles() verwenden und die Eigenschaft „background_color“ angeben:

<code class="python">s.set_table_styles([dict(selector='th', props=[('background-color', 'lightblue')]),
                    dict(selector='td', props=[('background-color', 'white')])])</code>

Dadurch wird die Hintergrundfarbe aller Kopfzellen auf hell gesetzt Blau und der Rest der Zellen in Weiß.

Beispiel

In Kombination der oben genannten Techniken finden Sie hier ein Beispiel für die Einfärbung von Text und Hintergründen:

<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>

Dadurch wird eine HTML-Tabelle mit orangefarbenem Text in „MOS“-Zeilen und hellblauen Header- und Indexhintergründen der obersten Ebene erstellt.

Das obige ist der detaillierte Inhalt vonWie färbe ich Text und Hintergründe in einer Pandas Dataframe-HTML-Tabelle ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn