Mensaje de Antonia Llancaqueo, cofundadora de Tienda Online Pewen
Atención al cliente me pide los pedidos devueltos para llamar a esos clientes. Y logística quiere los pedidos entregados de 3 unidades o más, solo con el número de pedido y la cantidad, para revisar el embalaje de los envíos grandes.
Concepto
Para filtrar filas, se escribe una condición entre corchetes. La condición da True o False para cada fila, y quedan solo las True:
import pandas as pd
pedidos = pd.read_csv("datos/pedidos.csv")
cancelados = pedidos[pedidos["estado"] == "cancelado"]
print(len(cancelados))Para combinar condiciones se usan & (y) y | (o), con cada condición entre paréntesis:
pedidos[(pedidos["cantidad"] >= 3) & (pedidos["estado"] == "entregado")]
Para elegir columnas, se pasa una lista de nombres: pedidos[["pedido_id", "cantidad"]]. Filtrar filas y elegir columnas a la vez se hace con .loc[filas, columnas]:
pedidos.loc[pedidos["cantidad"] >= 3, ["pedido_id", "cantidad"]]
Es lo mismo que un WHERE con un SELECT de columnas en SQL.
> tarea Python
Guarda en devueltos los pedidos cuyo estado es devuelto.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.
> tarea Python
Guarda en grandes los pedidos entregados de 3 unidades o más, solo con las columnas pedido_id y cantidad.
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
Escribes pedidos[pedidos["cantidad"] >= 3 & pedidos["estado"] == "entregado"] y Python responde con un error. ¿Por qué?
Cargando opciones…