1
resposta

Erro após inserir o código python no power bi

Logo quando tento subir o script python das cotacoes no power bi, ao carregar aparece esse erro para mim, Insira aqui a descrição dessa imagem para ajudar na acessibilidade"Detalhes: "ADO.NET: ΡУţнǿń śçгĭφţ ēґѓог. KeyError: "['Ativo'] not in index" "

e o meu script no colab está roudando normalmente, aonde consultei no forum quando estava dando erro nessa parte:

código anterior:

Resetando os índices e renomenado a coluna dos ativos

cotacoes = cotacoes.reset_index().rename(columns={'level_1': 'Ativo'})

código atual no colab:

Resetando os índices e renomenado a coluna dos ativos

cotacoes = cotacoes.reset_index().rename(columns={'Ticker': 'Ativo'})

está funcionando no colab, ai não sei o porque apareceu este erro no power bi, poderiam me ajudar?

1 resposta

Ola, Jabes, tudo bem ?

O erro que você está enfrentando no Power BI está relacionado ao fato de o script Python tentar acessar uma coluna "Ativo" no DataFrame, mas essa coluna não está presente no índice. A mensagem de erro "KeyError: "['Ativo'] not in index" indica que o script não está encontrando essa coluna com o nome que você especificou.

Aqui estão algumas sugestões para resolver o problema:

1. Verifique os nomes das colunas

Verifique se o nome da coluna que você está renomeando realmente existe no DataFrame quando você roda o script no Power BI. No seu código, você renomeia a coluna "Ticker" para "Ativo", mas o erro pode estar ocorrendo porque no Power BI a coluna pode ter outro nome ou o índice não foi resetado corretamente.

Tente adicionar uma linha para imprimir as colunas do DataFrame antes da renomeação para garantir que "Ticker" esteja presente:

print(cotacoes.columns)  # Verifique as colunas antes de renomear
cotacoes = cotacoes.reset_index().rename(columns={'Ticker': 'Ativo'})

2. Verifique a presença da coluna "Ticker"

Se a coluna "Ticker" não existir no DataFrame, a renomeação falhará, o que causaria o erro. A coluna pode ter um nome diferente ou a estrutura do DataFrame pode ser diferente ao rodar o código no Power BI.

Tente ajustar a renomeação de forma condicional para garantir que o código seja mais robusto:

if 'Ticker' in cotacoes.columns:
    cotacoes = cotacoes.rename(columns={'Ticker': 'Ativo'})
else:
    print("Coluna 'Ticker' não encontrada.")

3. Reinicialize os índices corretamente

Quando você chama reset_index(), ele pode criar novas colunas de índices. Certifique-se de que o índice seja resetado corretamente antes de tentar renomear qualquer coluna. Isso pode ser feito com o parâmetro drop=True no reset_index() para evitar que os índices anteriores sejam adicionados como colunas adicionais:

cotacoes = cotacoes.reset_index(drop=True)
cotacoes = cotacoes.rename(columns={'Ticker': 'Ativo'})

4. Adapte para o Power BI

Se o código está funcionando no Colab mas não no Power BI, isso pode ser devido a uma diferença de ambiente (por exemplo, versões diferentes de pacotes ou formato de dados). Tente rodar o código diretamente no Power BI e, se necessário, adicione mais informações sobre a estrutura dos dados para ajustá-lo.