Olá, Gustavo! Como vai? :)
Executei o notebook da aula no Google Colab e não obtive esse erro. O erro com que você se deparou ocorre ao comparar duas séries que não possuem os mesmos índices ou rótulos. No seu caso, df_prophet
e previsao
podem não estar alinhados de forma correta.
Uma maneira de resolver isso é garantir que ambos os DataFrames tenham os mesmos índices antes de fazer a comparação. Vou deixar abaixo um exemplo de como você pode fazer isso:
- Verifique se ambos os DataFrames possuem a mesma quantidade de linhas e os mesmos índices:
print(df_prophet.shape)
print(previsao.shape)
print(df_prophet.index)
print(previsao.index)
- Caso os índices sejam diferentes, você pode alinhar os DataFrames usando o método
reindex
:
previsao = previsao.reindex(df_prophet.index)
- Após garantir que os índices estão alinhados, você pode fazer a comparação novamente:
sem_outliers = df_prophet[(df_prophet['y'] > previsao['yhat_lower']) & (df_prophet['y'] < previsao['yhat_upper'])]
→ Uma outra alternativa para resolver o problema é usar o método reset_index()
em ambas as séries antes da comparação:
sem_outliers = df_prophet.reset_index()[(df_prophet.reset_index()['y'] > previsao['yhat_lower']) & (df_prophet.reset_index()['y'] < previsao['yhat_upper'])]
→ O reset_index()
cria um novo índice numérico para o DataFrame. Ao usar o reset_index()
são criados novos índices sequenciais e, por isso, é mais uma abordagem para garantir que ambos os DataFrames estejam alinhados. Mas, deve ser usado com cuidado, a depender da importância dos índices originais.
Desejo sucesso! Continue firme nos estudos! ✨✨
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!