Ошибка значения: не удалось преобразовать строку в float: ’01-01-20 0:15′

#python #arima #autocorrelation

#python #arima #автокорреляция

Вопрос:

Ниже приведен примерный набор данных, над которым я работаю, я сохраняю средние значения каждые 30 минут.

 |Slot              |    value|
|01-01-2018 00:30  |   78.3  |
|01-01-2018 01:00  |   74.5  |
|01-01-2018 01:30  |   79.2  |
|01-01-2018 02:00  |   78.7  |
|01-01-2018 02:30  |   77.3  |
|01-01-2018 03:30  |   76.4  |
 

Когда я пытаюсь построить график автокорреляционной функции (ACF) для этого набора данных, я получаю сообщение об ошибке:

Ошибка значения: не удалось преобразовать строку в float: ’01-01-20 0:15′

Вот мой код

 from statsmodels.graphics.tsaplots import plot_acf
plot_acf(freq)
 

Комментарии:

1. устанавливается slot в качестве индекса фрейма данных перед построением графика, df.set_index('Slot',inplace=True)

Ответ №1:

Функция plot_acf принимает значения, и задержка должна быть определена в отдельном аргументе.

 plot_acf(df['value'])
 

Если задержка имеет для вас значение (я не думаю, что это так, поскольку у вас уже есть регулярные 30-минутные интервалы), вы можете определить задержки.

 lags = [0, 30, 60, 90...]
plot_acf(df['value'], lags=lags)
 

https://www.statsmodels.org/stable/generated/statsmodels.graphics.tsaplots.plot_acf.html