Ich versuche, Python Pandas DataFrame basierend auf dem Wert der Zelle zu färben, hervorzuheben oder zu ändern. z.B. Wenn die Zellen in jeder Zeile größer als die Zelle in der ersten Spalte dieser Zeile sind, markieren Sie die Zelle als rot (oder eine andere Farbe), andernfalls lassen Sie sie unverändert.Bedingte Format Python pandas Zelle
Ich schrieb eine for-Schleife hier:
for index in range(0, df.shape[0]):
for column in range(1, df.shape[1]): # from 1 not from 0 because I only need # to compare the 2nd to the last cell of each row with the 1st cell in the row
if df.iloc[index][column] - df_BDE_n_months_avg_std_pct.iloc[index][0] > 0:
then "PLEASE PUT YOUR HELP HERE, I NEED A PIECE OF CODE THAT CAN HIGHLIGHT THE CELL"
else:
"DO NOTHING"
Bisher habe ich keine Möglichkeit, es zu tun gefunden. Jede Hilfe wird großartig sein.
Dank Psidom! Deine Lösung ist großartig! Eine Zusatzfrage, also was, wenn ich die Regel wie für jede Reihe einstellen möchte, von der 3. Zelle x, wenn x> 1. Zelle + 2. Zelle, oder x <1. Zelle - 2. Zelle, dann markieren, ansonsten nichts tun? Ich denke, der Punkt hier ist, wie wähle ich den Bereich der Zellen, die ich vergleichen möchte? Ihre Methode hat automatisch die erste Zelle selbst ausgeschlossen, da sie nicht größer als sie selbst ist, aber sie wird etwas komplizierter, wenn andere Regeln gelten. – thatMeow
Sie können jede Zeile "aufzählen" und den Index überprüfen, nur die Zelle ändern, wenn der Index in Ihrem Fall *> = 2 * ist. Siehe das Update. – Psidom
Danke nochmal Psidom. Ich habe noch nicht viel mit Pandas gespielt und deine Vorschläge sind von unschätzbarem Wert. Ich schätze deine Zeit :) – thatMeow