Queria saber o motivo de aparecer este erro se estou fazendo tudo certo. :-(
Queria saber o motivo de aparecer este erro se estou fazendo tudo certo. :-(
Bom dia, Elise.
O problema que você encontrou foi um KeyError. Esse erro indica um erro de chave, ou seja, você está chamando por uma chave dados_vendas
que não existe entre as chaves do seu dataframe.
Isso pode, inclusive, ser observado pelo seu print anterior, onde você printou as chaves e as opções eram: Data da venda
, Cliente
, Valor da Compra
.
O que eu vou lhe pedir para ajudarmos a encontrar a fonte de seu problema.
Em uma nova célula, printe novamente as chaves dos dados e, na célula seguinte, printe novamente a head dos dados. Talvez isso nos dê informações melhores de como resolver seu problema.
Olá!
Fiz novamente conforme indicado (Em uma nova célula, printe novamente as chaves dos dados e, na célula seguinte, printe novamente a head dos dados. Talvez isso nos dê informações melhores de como resolver seu problema.) e continuou sem funcionar.
O que acho estranho é que eu fiz exatamente igual ao de outros participantes e até mesmo da sugestão do instrutor e continua dando erro. :-(
Olá, Elise.
Que coisa. Acho que tem algo que não estamos vendo.
Poderia nos enviar o output do que aconteceu quando você fez?
O erro que apareceu pra você significa que o Python está procurando uma chave chamada 'dados_vendas' no dicionário ou DataFrame 'dados'. Caso o Python não encontre a chave 'dados_vendas', ou se tipo de dado não for Dict ou DataFrame, ele quebra .
Ou seja, quando você faz:
dados['dados_vendas']
dentro do pd.json_normalize(), o Python está procurando pela chave ou coluna 'dados_vendas', mas ela não existe.
Então, pelo que me parece, suponho que a variável que você chamou de 'dados' não está armazenando um DataFrame, mas sim uma Series ou Index (esses são outros tipos de dados do pandas).
Se a variável dados fosse um DataFrame, quando você tivesse executado:
print(dados.keys())
O output deveria ter sido:
Index(['dados_vendas'], dtype='object')
(a coluna 'dados_vendas' conteria os valores aninhados)
e não
Index(['Data de Venda', 'Cliente', 'Valor da compra'], dtype='object')
Após ter importado o arquivo .json dentro do Colab, garanta que você tenha executado o código nesta ordem:
dados = pd.read_json('dados_vendas_clientes.json')
dados = pd.json_normalize(dados['dados_vendas'])