3
respostas

ValueError: x must have 2 complete cycles requires 2 observations. x only has 1 observation(s)

Ao executar o código da aula:

resultado = seasonal_decompose([chocolura['vendas']], freq=1)
ax = resultado.plot()

é obtido o erro: ValueError: x must have 2 complete cycles requires 2 observations. x only has 1 observation(s)

Alguém sabe como é possível solucionar? Será que é necessário inserir mais dados ao dataset?


Outro ponto é o: FutureWarning: the 'freq'' keyword is deprecated, use 'period' instead.

Sendo necessário uitlizar o parâmetro 'period' ao invés de 'freq'.

3 respostas

Fala Bruno, como vai?

Executei o trecho de código que passou e não obtive o erro como resultado. Pode por gentileza compartilhar seu notebook com a gente?

Assim, te damos um feedback direcionado.

: )

Fla Guilherme! Estou bem e você?

Agradeço pelo retorno.

Será que deve ser a versão das bibliotecas que estou utilizando?

Versão do pandas -> 1.0.3

Versão do numpy -> 1.18.1

Versão do seaborn -> 0.10.0

Versão do scipy -> 1.4.1

Versão do statsmodels -> 0.11.0

No Google Colab funciona, mas no JupyterLab pelo anaconda, não.

Isso pode ser pela diferença de alguma versão. Vamos aos ajustes:

Nno lugar de 'freq' use 'period'

Não use :

[cafelura['vendas']]

mas, sem os colchetes

cafelura['vendas']
from pylab import rcParams
rcParams['figure.figsize'] = 11, 9

resultado = seasonal_decompose(chocolura['vendas'], period=1)
resultado.plot()


plt.show()

Quando usar na nova versão:

[cafelura['vendas']]

Pelo que entendi na documentação será quando for utilizar mais de uma variável, então ele espera uma lista.

exemplo:

from pylab import rcParams
rcParams['figure.figsize'] = 11, 9

resultado = seasonal_decompose([cafelura['quant_dias'],cafelura['vendas']], period=1)
resultado.plot()


plt.show()