DESAFIO #2
import pandas as pd
import requests
import numpy as np
url_vendas = "https://caelum-online-public.s3.amazonaws.com/2928-transformacao-manipulacao-dados/dados_vendas_clientes.json"
data_vendas = requests.get(url_vendas).json()
df_vendas = pd.json_normalize(data_vendas['dados_vendas'])
columnas = list(df_vendas.columns)
print("Columnas originales:", columnas)
df_vendas = df_vendas.explode(columnas[1:])
df_vendas.reset_index(drop=True, inplace=True)
print("\nDataFrame después de explode:")
print(df_vendas.head())
print("\nTipos de datos antes de conversión:")
df_vendas.info()
df_vendas['Valor da compra'] = df_vendas['Valor da compra'].apply(
lambda x: str(x).replace('R$ ', '').replace(',', '.').strip()
)
df_vendas['Valor da compra'] = df_vendas['Valor da compra'].astype(np.float64)
print("\nTipos de datos después de conversión:")
df_vendas.info()
print("\nDataFrame final limpio:")
print(df_vendas.head())
import pandas as pd
df_vendas = pd.DataFrame(data_vendas["dados_vendas"])
df_vendas["Valor da compra"] = pd.to_numeric(df_vendas["Valor da compra"], errors="coerce")
total_por_cliente = df_vendas.groupby("Cliente")["Valor da compra"].sum().reset_index()
total_por_cliente = total_por_cliente.sort_values(by="Valor da compra", ascending=False)
print(total_por_cliente)