У меня возникли проблемы с разложением временного ряда в python

Поэтому я использовал предыдущий ответ и вопрос к своим проблемам отвечать, но в моем случае я столкнулся с некоторой ошибкой, которую не знаю, как ее решить.

Изначально я загрузил фрейм данных pandas как df = pd.read_excel(fid_data), его содержимое проверяется в следующей команде df.info(), я получаю следующее:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 118 entries, 0 to 117
Data columns (total 8 columns):
Date       118 non-null datetime64[ns]
MOEX       118 non-null float64
RTS        118 non-null float64
CAC40      118 non-null float64
DAX        118 non-null float64
FTSe100    118 non-null float64
nikkei     118 non-null float64
sp500      118 non-null float64
dtypes: datetime64[ns](1), float64(7)
memory usage: 7.5 KB

Когда я пытаюсь разложить moex = df.MOEX этой командой res = sm.tsa.seasonal_decompose(moex, model='additive'), я получаю следующую ошибку:

Traceback (most recent call last):
  File "Main.py", line 106, in <module>
    res = sm.tsa.seasonal_decompose(moex, model='additive')
  File "/home/arvaldez/anaconda3/lib/python3.6/site-packages/statsmodels/tsa/seasonal.py", line 68, in seasonal_decompose
    _pandas_wrapper, pfreq = _maybe_get_pandas_wrapper_freq(x)
  File "/home/arvaldez/anaconda3/lib/python3.6/site-packages/statsmodels/tsa/filters/_utils.py", line 46, in _maybe_get_pandas_wrapper_freq
    freq = index.inferred_freq
AttributeError: 'RangeIndex' object has no attribute 'inferred_freq'

похоже, что seasonal_decompose ожидает серию с временной индексацией, а ваши данные — нет. Может df.set_index('Date', inplace=True) поможет.

Quang Hoang 10.04.2019 20:54

@QuangHoang Я должен добавить это сразу после определения объекта pandas df?????

Andres Valdez 10.04.2019 22:12

Да, вы можете попробовать и это. Должна быть возможность установить индекс с помощью read_excel, возможно, index_col, но я не совсем уверен.

Quang Hoang 10.04.2019 22:14

@QuangHoang пока что это не сработало..... Я пытался адаптировать этот скрипт в направленииdatascience.com/…, но не могу найти причину моей ошибки и как исправить ошибку

Andres Valdez 10.04.2019 23:19

@QuangHoang У меня новый вопрос. Благодаря вашей помощи несколько месяцев назад. Я изучаю новый фрейм данных. Это DatetimeIndex: DatetimeIndex: 8040 entries, 2017-03-20 07:00:00 to 2017-03-31 19:59:00, и это произвольный член кадра данных y 8040 non-null int64 со следующим свойством <class 'pandas.core.series.Series'>, когда я проверяю частоту, он возвращает «Нет», как я могу изменить это «Нет» на Минуты....? ???

Andres Valdez 17.08.2019 19:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
414
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Большое спасибо @QuangHoang, после загрузки объекта pandas df вы должны определить временную шкалу с помощью df.set_index('Date', inplace=True), а определения переменных теперь не содержат массив Date.

До:

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 118 entries, 0 to 117
Data columns (total 8 columns):
Date       118 non-null datetime64[ns]
MOEX       118 non-null float64
RTS        118 non-null float64
CAC40      118 non-null float64
DAX        118 non-null float64
FTSe100    118 non-null float64
nikkei     118 non-null float64
sp500      118 non-null float64
dtypes: datetime64[ns](1), float64(7)
memory usage: 7.5 KB

После:

<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 118 entries, 2019-02-01 to 2009-05-01
Data columns (total 7 columns):
MOEX       118 non-null float64
RTS        118 non-null float64
CAC40      118 non-null float64
DAX        118 non-null float64
FTSe100    118 non-null float64
nikkei     118 non-null float64
sp500      118 non-null float64
dtypes: float64(7)
memory usage: 7.4 KB

Все работает так, как ожидалось. Теперь мне не нужно разбирать массив Date, так как он вставлен в каждый массив...

Спасибо еще раз.-

Другие вопросы по теме