Agregar de varias formas a la vez en Python
agg nombra las salidas, así el resultado no necesita renombrarse después.
import pandas as pd
tabla = pd.DataFrame({
"lang": ["python", "python", "rust", "rust"],
"tpm": [104, 91, 98, 88],
"errors": [1, 4, 0, 2],
})
resumen = tabla.groupby("lang").agg(
intentos=("tpm", "size"),
mejor=("tpm", "max"),
promedio=("tpm", "mean"),
limpios=("errors", lambda s: (s == 0).sum()),
)
print(resumen.round(1))
print(tabla.groupby("lang")["tpm"].agg(["min", "max"]))
Cómo funciona
- La agregación con nombre empareja un nombre de salida con columna y función.
- Una lista de funciones da una columna por función.
- Una lambda propia funciona donde funciona un nombre.
Palabras clave y builtins usados aquí
aslambdaprint
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 382
- Tokens
- 172
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 94 segundos.
Paso 2 de 5 en Agrupación; paso 15 de 26 en pandas.