Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Python e Power Bi - Shape Mismatch

Queridos, boa tarde,

Ao tentar elaborar o gráfico de Candlestick para outras ações como desafio obtive a mensagem abaixo:

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

1 resposta
solução!

Olá Estudante, tudo bem com você?

O erro de shape mismatch geralmente ocorre quando os arrays ou séries que você está tentando operar não têm o mesmo formato ou número de elementos. Porém, como não tenho acesso ao seu código completo não consigo te dizer as mudanças que você terá que fazer.

Mas, deixo abaixo duas informações que podem te ajudar, a primeira é um código funcional de um gráfico Candlestick e o resultado no Power BI. A segundo é um Alura+ que ensina a fazer esse tipo de gráfico usando visuais do próprio Power BI.

Código Funcional:

import pandas as pd
import matplotlib.pyplot as plt

prices = pd.DataFrame({'open': [25, 22, 21, 19, 23, 21, 25, 29],
                       'close': [24, 20, 17, 23, 22, 25, 29, 31],
                       'high': [28, 27, 29, 25, 24, 26, 31, 37],
                       'low': [22, 16, 14, 17, 19, 18, 22, 26]},
                       index=pd.date_range("2021-01-01", periods=8, freq="d"))


plt.figure(figsize=(8,6))

width = .4
width2 = .05

up = prices[prices.close>=prices.open]
down = prices[prices.close<prices.open]

col1 = 'green'
col2 = 'red'

plt.bar(up.index,up.close-up.open,width,bottom=up.open,color=col1)
plt.bar(up.index,up.high-up.close,width2,bottom=up.close,color=col1)
plt.bar(up.index,up.low-up.open,width2,bottom=up.open,color=col1)

plt.bar(down.index,down.close-down.open,width,bottom=down.open,color=col2)
plt.bar(down.index,down.high-down.open,width2,bottom=down.open,color=col2)
plt.bar(down.index,down.low-down.close,width2,bottom=down.close,color=col2)

plt.xticks(rotation=30, ha='right')

plt.show()

Resultado do código:

Imagem do gráfico de candlestick

Alura+

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

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