1
resposta

[Dúvida] Lentidão ao executar o script no power bi

Realizei o teste no Google Colab e funcionou corretamente. A modificação que fiz foi na linha onde está escrito ** # Criando um DataFrame com algumas informações da carteira** .

No entanto, o Power BI está apresentando lentidão ao fazer a conexão com o Python e não está executando.

Importando as bibliotecas

import fundamentus import pandas as pd

Definindo a carteira de ações

carteira_fund = ["ABEV3", "B3SA3", "ELET3", "GGBR4", "ITSA4", "PETR4", "RENT3", "SUZB3", "VALE3", "WEGE3"]

Criando um df com algumas infos da carteira

ind = pd.concat([fundamentus.get_papel(papel)[['Setor', 'Cotacao', 'Min_52_sem', 'Max_52_sem', 'Valor_de_mercado', 'Nro_Acoes', 'Patrim_Liq','Receita_Liquida_12m','Receita_Liquida_3m', 'Lucro_Liquido_12m', 'Lucro_Liquido_3m']] for papel in carteira_fund])

Passando o ticker para uma coluna

ind = ind.reset_index() ind.rename(columns={"index":"Ativo"}, inplace=True)

Alterando colunas object para numeric

colunas = ['Cotacao', 'Min_52_sem', 'Max_52_sem', 'Valor_de_mercado', 'Nro_Acoes', 'Patrim_Liq', 'Receita_Liquida_12m', 'Receita_Liquida_3m', 'Lucro_Liquido_12m', 'Lucro_Liquido_3m'] ind[colunas] = ind[colunas].apply(pd.to_numeric, errors='coerce', axis=1) ind.head()

Criando um novo df com alguns indicadores da carteira

ind_2 = fundamentus.get_resultado_raw().reset_index() ind_2 = ind_2.query("papel in @carteira_fund")

ind_2 = ind_2[['papel','P/L', 'Div.Yield','P/VP','ROE']].reset_index(drop=True)

ind_2.rename(columns={'papel': 'Ativo','Div.Yield':'DY'}, inplace= True) ind_2.head()

Concatenando os dfs em um só com as infos e indicadores

indicadores = pd.merge(ind, ind_2, on="Ativo")

Criando uma coluna para LPA (Lucro por Ação) e VPA (Valor Patrimonial por ação)

para calcular a fórmula de Graham Valor intrínseco de uma ação (VI = √22,5 x LPA x VPA)

indicadores["LPA"] = (indicadores["Lucro_Liquido_12m"] / indicadores["Nro_Acoes"]).round(2) indicadores["VPA"] = (indicadores["Patrim_Liq"] / indicadores["Nro_Acoes"]).round(2)

del ind, ind_2, carteira Fund, colunas

1 resposta

Oii, Rafael! Tudo bem?

Obrigada por informar que testou no Colab, no qual é um ambiente preparado para trabalhar com o Python. E no Power BI não ocorre a mesma dinâmica.

É interessante ver se as versões das bibliotecas instaladas, do Python e Power BI são condizentes como mostra nesta atividade e neste artigo você encontra detalhes quais pacotes do Python o Power BI tem suporte.

Continuando a revisão, vá "Opções" no Power BI, depois em "Scripts do Python" e verifique se o caminho para o Python está correto.

E como o Power BI tem um limite para a execução de scripts, se demorar, ele pode ser interrompido. Então reinicie o Power BI para que as mudanças sejam validadas ou, se for o caso, tentar de novo.

Caso persista e houver mais informações como mensagem de aviso/erro, compartilhe para podermos buscar outras soluções.

Espero que dê certo e até mais, Rafael!