Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Tabela vazia

Fiz todo o passo a passo mostrado na aula e tentei todas as sugestões aqui do fórum mas nenhuma delas funcionou, a tabela no Power Bi aparece vazia.

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

4 respostas
solução!

Olá Marcia! Tudo bem?

Atualmente utilizando a versão yfinance do curso e o código da transcrição gera tabelas vazia. Obtive o mesmo comportamento, e no meu caso, consegui resolver após duas alterações principais no código e uma atualização na biblioteca yfinance.

Atualização da biblioteca yfinance

Precisei atualizar o yfinance para a versão 0.2.63. Com isso você deverá editar o arquivo no bloco de notasrequirements.txt refletindo essa atualização. Ele ficará assim:

pandas==1.3.5
numpy==1.21.6
matplotlib==3.5.3
seaborn==0.12.0
fundamentus==0.2.0
yfinance==0.2.63

Atualize no cmd com o comando:

pip install -r requirements.txt

Utilizei a versão 3.10.11 do Python. Recomendo primeiro tentar com a versão que está instalada em seus sitema, caso obtenha algum erro de incompatibilidade entre versão do Python e biblioteca, recomendo utilizar essa mesma versão que utilizei Python 3.10.11. Lembre-se que você deverá estar com o seu ambiente virtual ativo.

Alterações no código:

  1. Adicionei o parâmetro auto_adjust=False Isso evita que o yfinance ajuste os preços automaticamente (o que pode quebrar a estrutura dos dados com múltiplos ativos):

    df = yf.download(carteira_yf, start="2022-08-01", end="2023-08-01", auto_adjust=False)
    
  2. Renomeei a coluna do ticker após o empilhamento (stack):

    Troque level_1 por "Ticker":

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

Código completo:

# Código completo da obtenção dos dados históricos das cotações da carteira de 01/08/2022 à 01/08/2023
# Importando a biblioteca
import yfinance as yf

# Definindo a carteira de ações
carteira_yf = ['ABEV3.SA', 'B3SA3.SA', 'ELET3.SA', 'GGBR4.SA', 'ITSA4.SA',
               'PETR4.SA', 'RENT3.SA', 'SUZB3.SA', 'VALE3.SA', 'WEGE3.SA']

# Carregando os dados da carteira
df = yf.download(carteira_yf, start="2022-08-01", end="2023-08-01", auto_adjust=False)


# Passando os ativos para o multindex do df
cotacoes = df.stack(level=1)

# Resetando os índices e renomenado a coluna dos ativos
cotacoes = cotacoes.reset_index().rename(columns={'Ticker': 'Ativo'})

# Organizando o df
cotacoes = cotacoes[["Date", "Open", "High", "Low", "Close", "Ativo"]]

del carteira_yf, df

Peço que testa esses novos ajustes e veja se o problema é solucionado,

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá Monalisa.

Segui todas as suas instruções, mas a tabela continua vazia.

Oi, Márcia!

Para que eu possa entender melhor o seu ambiente e te ajudar com mais precisão, gostaria que fizesse alguns testes, por favor:

Verificando o diretório do script

Certifique-se de que o diretório raiz do script Python está apontando para a pasta bt_dash, como na imagem abaixo:

Descrição da imagem: terminal com o diretório apontando para a pasta bt\_dash


Teste no CMD

  1. Abra o CMD (Prompt de Comando)

  2. Navegue até a pasta bulltrend com o comando:

    cd bulltrend
    
  3. Ative o ambiente virtual com:

    bt_dash\Scripts\activate
    
  4. Com o ambiente ativado, execute este comando:

    python --version & pip show pandas numpy matplotlib seaborn fundamentus yfinance | findstr "Name Version"
    

Me retorne com:

  • Print do Power BI da localização do diretório da raiz do Python (como no meu print)
  • Print da saída completa do último comando acima ( python --version $ pip show ...).
  • O código que está utilizando no Power BI.

Fico no aguardo!

Oi Monalisa.

Executei o comando

python --version & pip show pandas numpy matplotlib seaborn fundamentus yfinance | findstr "Name Version"

E estava mostrando a versão do Python 3.7.7., e mostrava as versõe das bibliotecas instaladas anteriormente. Desinstalei a versão Python 3.7.7 e tentei reinstalar as versões atualizadas.

pandas==1.3.5
numpy==1.21.6
matplotlib==3.5.3
seaborn==0.12.0
fundamentus==0.2.0
yfinance==0.2.63

Mas mostrava uma mensagem que não o python não estva instalado. Então destivei o ambiente virtual, exclui a pasta da bulltrend e reiniciei todo o processo para criação do ambiente virtual. Assim , consegui resolver o problema da tabela vazia.