Concepto
Los datos útiles suelen estar repartidos: las ventas dicen la región, pero la ciudad y la meta de cada región están en otra tabla. merge une dos tablas usando una columna que tienen en común, como BUSCARV en Excel o JOIN en SQL.
izquierda.merge(derecha, on="columna_comun", how="inner")La columna en común. Imagina una tabla pedidos con la columna cliente_id y una tabla clientes con cliente_id, nombre y comuna. merge busca, para cada pedido, la fila de clientes con el mismo id y pega sus columnas al lado.
pedidos.merge(clientes, on="cliente_id")inner: solo lo que calza. Es el tipo por defecto: quedan las filas cuyo cliente_id aparece en las dos tablas. Un cliente sin pedidos no aparece en el resultado.
left: todo lo de la izquierda. Con how="left" quedan todas las filas de la tabla de la izquierda, aunque no encuentren pareja. Donde no hay pareja, las columnas de la otra tabla quedan vacías (NaN). Sirve para preguntas como "¿qué clientes no han comprado?".
clientes.merge(pedidos, on="cliente_id", how="left")Revisa la cantidad de filas. Antes y después de un merge, cuenta las filas. Si una tabla que debía tener un valor por clave tiene la clave repetida, cada coincidencia multiplica filas, y los totales que calcules después quedan inflados sin ningún aviso.
> tarea Python
Las tablas ventas y regiones ya están cargadas. Guarda en ventas_con_ciudad el resultado de combinar ventas con regiones por la columna region (solo las filas que calzan). Después guarda en cobertura todas las regiones, tengan o no ventas, combinando regiones con ventas con how="left", y en filas_cobertura cuántas filas quedaron.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.