[FIXED] Python Pandas: So ändern Sie die Schriftart und die Hintergrundfarbe von Zellen

Ausgabe

Ich möchte die Schriftart und die Hintergrundfarbe der Zelle basierend auf den Bedingungen ändern, aber mein Skript ändert jetzt nur die Hintergrund-/Zellenfarbe. Gibt es eine Möglichkeit, Text und Zelle in derselben Farbe darzustellen? Ich bin noch nicht vertraut style.applymap, also bitte haben Sie Geduld mit mir.

import pandas as pd
import pypyodbc as odbc

def color(val):
    if  val ==  0:
         color = 'red'
    elif val == 1:
         color = 'green'
    elif val == 3:
         color = 'blue'
    return f'background-color: {color}; color: {color}' 

conn = odbc.connect(MyConn)
rd = pd.read_sql("SELECT * FROM TABLE", conn) 

rdx = pd.pivot_table(rd, index = ['LIST'] ,columns='month',  values='status',aggfunc='sum' )

rdx = rdx.style.applymap(color)

Lösung

Sie können Werte im Wörterbuch zuordnen, wenn sie übereinstimmen, sonst eine leere Zeichenfolge zurückgeben:

df = pd.DataFrame({'a':[2,0,1,3],'b':[3,0,1,3]})
    
def color(val):
    d = {0:'red', 1: 'green', 3:'blue'}
    return f'background-color: {d[val]}; color: {d[val]}' if val in d else ''

df.style.applymap(color)


Beantwortet von –
jezrael


Antwort geprüft von –
Mildred Charles (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like