DataFrames con barras (Styler)
Propósito
Snippets cortos para barras horizontales y notación ingenieril en pandas.DataFrame.style
. Útil para tabulados “de lectura rápida” en notebooks.
Barras alineadas en cero (rango global)
def style_with_bars(df, cols):
vmax = df[cols].abs().max().max()
return (df.style
.bar(subset=cols, align="zero", vmin=-vmax, vmax=vmax, width=100))
Formateo en notación ingenieril (k/M/G)
def eng(x):
if x == 0 or x is None: return "0"
mags = "kMGTPEZY"
m = 0
while abs(x) >= 1000 and m < len(mags):
x /= 1000.0; m += 1
return f"{x:.0f}{mags[m-1]}" if m else f"{x:.0f}"
def style_bars_eng(df, cols):
s = style_with_bars(df, cols)
return s.format(eng, subset=cols)
Tips operativos
- vmax global para comparabilidad entre columnas.
- Añadí
.format("{:.0e}")
si preferís científica. - Si el DF es grande, muestra pocas columnas para performance.
Para guías completas y escalas de color en Mapbox, ver /metodos/charts_and_styles.