1
resposta

[Dúvida] Solicitação de apoio

Bom dia! Estou com dificuldades durante a execução dos exercícios do curso Análise de dados com Python. A dificuldade começa com as respostas do ChatGPT, pois não são as mesmas que a instrutura utiliza. Os prints abaixo servem de parâmetro para indicar até onde consegui chegar.

1- Estou no seguinte item: " O DataFrame "df" possui as colunas "item_identificador", "loja_identificador", "vendas_totais", "item" e "loja". As colunas "item" e "loja" contêm dicionários aninhados dentro de cada uma das linhas. Como posso transformar os dados dos dicionários e colunas para torná-los mais acessíveis no meu DataFrame?"

2- Copiei para o ChatGPT e a resposta foi a seguinte: import pandas as pd

Supondo que 'df' seja o seu DataFrame com as colunas 'item' e 'loja' contendo dicionários aninhados

Função para extrair os valores dos dicionários e retornar como uma Series

def extrair_valores(dicionario): return pd.Series([dicionario['identificador'], dicionario['vendas_totais']])

Aplicar a função às colunas 'item' e 'loja' para criar novas colunas

df[['item_identificador', 'vendas_totais']] = df['item'].apply(extrair_valores) df[['loja_identificador']] = df['loja'].apply(lambda x: x['identificador'])

Remover as colunas originais 'item' e 'loja'

df = df.drop(columns=['item', 'loja'])

Visualizar o DataFrame resultante

print(df)

3- Copiei e colei no "notebook" a resposta foi:

O erro que é apresentado é a falta da variável "df". Para buscar uma solução copiei as mesmas linhas de código que a instrutura utilizou, entretanto o erro permanece.

Enfim, quanto mais tento buscar solução, outros erros surgem conforme é possível observar nas imagens abaixo. Agradeço a atenção.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii, Humberto! Tudo bem?

Humberto, quando estamos tendo auxilio da IA para escrever código é comum as respostas serem diferentes da instrutora. Pois na programação existem várias formas de se fazer algo e, também, a IA facilmente pode cometer erros. Para chegar o mais próximo possível da resposta, o interessante é ir ajustando os prompts, testando os códigos e tudo mais.

Mas, falando sobre o erro, podemos perceber que variável df não está definida antes de ser usada. Isso geralmente acontece quando tentamos usar uma variável que ainda não foi criada ou importada.

Como sugestão, crie a visualização DataFrame como df antes de aplicar as funções de normalização. Por exemplo:

#fazendo a importação das bibliotecas
import pandas as pd
import numpy as np

#criamos a variavel df para armazenar a leitura do json
df = pd.read_json(url)

#exibindo o df
df.head()

Após essa alteração rode a célula.

Agora vamos a normalização desse df:

#importanto o json_normalize
from pandas import json_normalize

# Normalizando os dados da coluna 'item'
df_item_normalized = json_normalize(df['item'])

# Normalizando os dados da coluna 'loja'
df_loja_normalized = json_normalize(df['loja'])

# Concatenando os DataFrames normalizados com o DataFrame original
df = pd.concat([df, df_item_normalized, df_loja_normalized], axis=1)

# Removendo as colunas originais 'item' e 'loja' 
df.drop(['item', 'loja'], axis=1, inplace=True)

# Visualizando o DataFrame 
df

Pronto, declaramos a variável df para que a normalização ocorra sem mais erros.

Espero que dê certo! Qualquer dúvida, conte conosco.

Bons estudos, Humberto!