Ich versuche also, einen Pandas -Datenframe für eine Streamlit -App zu stylen. Ich konnte es mit dem folgenden Code angemessen stylen: < /p>
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9], 'X': [10, 11, 12], 'Y': [13, 14, 15], 'Z': [16, 17, 18]})
default_colors = {
"A": "brown",
"B": "blue",
"C": "green",
"X": "orange",
"Y": "red",
"Z": "purple"
}
def highlight_columns(val, color):
return f'color: {color}; font-weight: bold;' if val else ''
if 'A' in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors['A']), subset=['A'])
if 'B' in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors['B']), subset=['B'])
if 'C' in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors['C']), subset=['C'])
if 'X' in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors['X']), subset=['X'])
if 'Y' in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors['Y']), subset=['Y'])
if 'Z' in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors['Z']), subset=['Z'])
< /code>
Aber nach dem Refactoring mit: < /p>
for column in 'ABCXYZ':
if column in df.columns:
styled_df.applymap(lambda val: highlight_columns(val, default_colors[column]), subset=[column])
< /code>
Alle Spalten iteriert werden auf die endgültige Spaltenfarbe aktualisiert. In diesem Fall Spalte 'z'. Was ist hier los? Warum funktionieren die 6, wenn Aussagen gut funktionieren, aber die Schleife nicht?
Inkonsistente Ergebnisse mit Pandas Styler ApplyMap ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Foto direkt aus der Kamera in Microsoft -Teams Ergebnisse immer als 403 Ergebnisse
by Anonymous » » in C# - 0 Replies
- 14 Views
-
Last post by Anonymous
-