Heim >Backend-Entwicklung >Python-Tutorial >Wie färbe ich bestimmte Zellen mit Zeilenindex und Spaltennamen in Pandas ein?

Wie färbe ich bestimmte Zellen mit Zeilenindex und Spaltennamen in Pandas ein?

WBOY
WBOYnach vorne
2024-02-15 16:39:03815Durchsuche

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

Frageninhalt

Ich habe einen Datenrahmen df mit Form (100,10) und ein Wörterbuch columns_to_color für jede Zeile.

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

Wie färbe ich bestimmte Zellen für jede Zeile dieser Spalte ein? Und dann speichern, um Excel zu erstellen?


Richtige Antwort


Sie können 。 style.apply() so verwenden:

df.style.apply(
    lambda row: [
        'font-weight: bold' if col in columns_to_color[row.name] else ''
        for col in row.index],
    axis=1)

(Ich verwende die Fettschrift nur der Einfachheit halber.)

Um dann in Excel zu konvertieren, verwenden Sie .to_excel().

Beispiel:

df = pd.DataFrame({f'col{n}': range(10*n, 10*n + 3) for n in range(10)})

Nach apply (in meiner Vorstellung):

Das obige ist der detaillierte Inhalt vonWie färbe ich bestimmte Zellen mit Zeilenindex und Spaltennamen in Pandas ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen