> lección 20/34 · 14 min

Crear columnas nuevas

Concepto

Muchas preguntas se responden con una columna que todavía no existe: el precio unitario, el monto con IVA, si una venta fue grande. En pandas, una columna nueva se crea asignándole una operación sobre otras columnas, y se calcula para todas las filas a la vez.

Sintaxis
df["nueva"] = expresión con otras columnas

Asignar una columna. Se escribe como si leyeras una columna, pero a la izquierda del =. Si la columna no existe, se crea al final; si existe, se reemplaza.

ventas["monto_con_iva"] = ventas["monto"] * 1.19

Operar entre columnas. Dos columnas se combinan fila por fila: el precio de la fila 0 con el stock de la fila 0, y así con cada fila.

inventario["valor"] = inventario["precio"] * inventario["stock"]

Una columna de True y False. Una comparación también se puede guardar como columna. Sirve para marcar filas sin eliminarlas.

ventas["es_norte"] = ventas["region"] == "norte"

Contar con una columna booleana. Al sumar True y False, pandas cuenta cada True como 1 y cada False como 0. Entonces .sum() de una columna booleana dice cuántas filas cumplen la condición, y .mean() qué proporción.

ventas["es_norte"].sum()    # cuántas ventas son del norte
ventas["es_norte"].mean()   # qué fracción del total

> tarea Python

Con la tabla ventas ya cargada: crea la columna precio_unitario, el monto dividido por la cantidad. Crea la columna venta_grande, que sea True cuando el monto es 100000 o más. Después guarda en cantidad_grandes cuántas ventas grandes hay, sumando esa columna.

Cargando Python… la primera vez puede tardar unos segundos.

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

Aprueba las tareas de esta lección para ver el cierre.