> misión 4/9 · 30 min

Limpiar

Mensaje de Antonia Llancaqueo, cofundadora de Tienda Online Pewen

Con lo que encontraste me quedé preocupada: pedidos sin cantidad, fechas que parecen texto y clientes sin región. Antes de calcular ventas, deja los datos listos. Y cuéntame cuántos pedidos venían sin cantidad, para hablarlo con quien carga los datos.

Concepto

Cuatro herramientas para los problemas más comunes:

Vacíos. isna() marca las celdas vacías (en pandas se llaman NaN) y .sum() las cuenta:

pedidos["cantidad"].isna().sum()

Después se decide qué hacer: dropna(subset=["cantidad"]) quita esas filas, y fillna("Sin región") las rellena con un valor.

Duplicados. drop_duplicates() quita las filas idénticas a otra.

Tipos. Una columna con vacíos queda como decimal (4.0). astype(int) la pasa a entero, una vez que ya no tiene vacíos. Las fechas llegan como texto: pd.to_datetime las convierte en fechas de verdad, con las que se puede agrupar por mes.

import pandas as pd
pedidos = pd.read_csv("datos/pedidos.csv")
print(pedidos.dtypes)
print("Duplicados:", pedidos.duplicated().sum())

Un cambio sobre una columna se guarda asignándolo: pedidos["fecha"] = pd.to_datetime(pedidos["fecha"]). Las operaciones sobre la tabla completa devuelven una tabla nueva, así que hay que guardarla: pedidos = pedidos.drop_duplicates().

> tarea Python

Guarda en nulos cuántos pedidos vienen sin cantidad. Después limpia pedidos: quita los duplicados y las filas sin cantidad, deja cantidad como entero y fecha como fecha. Por último, rellena las regiones vacías de clientes con «Sin región».

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.

> decisión

Hay 5 pedidos sin cantidad. ¿Por qué no rellenarlos con 1, que es la cantidad más común?

Cargando opciones…

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