Agregar columnas en Python
assign devuelve un frame nuevo, y eso es lo que vuelve seguro encadenar.
import pandas as pd
tabla = pd.DataFrame({"letras": [420, 380], "segundos": [60.0, 45.0]})
ancha = tabla.assign(
cps=lambda f: f["letras"] / f["segundos"],
wpm=lambda f: (f["cps"] * 60 / 5).round(1),
veloz=lambda f: f["wpm"] > 80,
)
print(ancha)
print(list(tabla.columns)) # intacta
Cómo funciona
- Una asignación simple muta;
assigncopia. - Una lambda dentro de
assignve el frame mientras se construye. - Varias columnas en una llamada se evalúan en orden.
Palabras clave y builtins usados aquí
aslambdalistprint
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 286
- Tokens
- 109
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 62 segundos.
Paso 1 de 5 en Derivar columnas; paso 9 de 26 en pandas.