Hola compañeros,
Para resolver el desafío propuesto, primero realicé la lectura de las tres bases de datos desde las URLs proporcionadas. Luego, uní las bases de ventas y clientes utilizando como clave la columna ID_compra. A continuación, organicé las columnas en el orden solicitado para facilitar el análisis.
Después, uní este DataFrame resultante con la base de zoop_pay a través de la columna ID_cliente, y finalmente ajusté el formato de la columna fecha a tipo datetime con el formato "YYYY-MM-DD".
Comparto a continuación el código completo que utilicé en Google Colab:
Importar pandas
import pandas as pd
URLs de los datasets
url_clientes = "https://gist.githubusercontent.com/ahcamachod/d08898e1cc84c7271856e78d9558ca3d/raw/2f7e1fa53711efe6433a5c5ec79948f600591cb9/clientes_zoop.csv"
url_ventas = "https://gist.githubusercontent.com/ahcamachod/966d7162a3c3a2769b8770b35abf1bcc/raw/d79941b3fa46a450f3611589abd8663399c1277b/ventas_zoop.csv"
url_zoop_pay = "https://gist.githubusercontent.com/ahcamachod/ce728231a836a973c0df94a9f03ed871/raw/8db6da43d7cd94fcab937208067d0fceb521b78c/zoop_pay.csv"
Leer los datos desde las URLs
clientes = pd.read_csv(url_clientes)
ventas = pd.read_csv(url_ventas)
zoop_pay = pd.read_csv(url_zoop_pay)
Unir 'ventas' y 'clientes' usando 'ID_compra' como clave
df = pd.merge(ventas, clientes, on="ID_compra")
Ordenar columnas según lo solicitado
columnas_ordenadas = [
"ID_compra", "fecha", "horario", "categoria", "precio_unitario", "cantidad",
"envio", "metodo_pago", "ID_cliente", "edad", "sexo_biologico", "ciudad",
"estado", "region", "cashback", "nota"
]
df = df[columnas_ordenadas]
Unir con la base de datos 'zoop_pay' usando 'ID_cliente'
df = pd.merge(df, zoop_pay, on="ID_cliente")
Convertir la columna 'fecha' a formato datetime
df['fecha'] = pd.to_datetime(df['fecha'], format='%Y-%m-%d')
Mostrar las primeras filas para verificar el resultado
df.head()