Skip to main content

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.