повысить ValueError («Длина должна совпадать для сравнения») ValueError: Длина должна совпадать для сравнения - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь вычислить 12-периодную экспоненциальную ма, где первые 11 периодов находятся в dftemp1 (где я пересэмплировал данные в 120-минутных окнах). Последний период должен быть текущим временем и точками, содержащимися в dftemp

dftemp                      GBPAUD
2018-01-01 22:00:00+00:00  1.72756
2018-01-01 22:01:00+00:00  1.72774
2018-01-01 22:02:00+00:00  1.72768
2018-01-01 22:03:00+00:00  1.72769
2018-01-01 22:04:00+00:00  1.72779

dftemp1                    GBPAUD

2018-01-01 22:00:00+00:00  1.72756
2018-01-02 00:00:00+00:00  1.72439
2018-01-02 02:00:00+00:00  1.72485
2018-01-02 04:00:00+00:00  1.72873
2018-01-02 06:00:00+00:00  1.72990

При использовании приведенного ниже кода в качестве одной командной строки (заменив dftemp.index на заданную дату и время), код работает, но при попытке векторизовать его, где я пытаюсь создать строки 11 + 1 и вычислить ewm, это дает ошибку: повысить ValueError («Длина должна совпадать, чтобы сравнить»). Пожалуйста, помогите, поскольку я исчерпал свои знания по этому вопросу и застрял на день или около того

ValueError: длины должны совпадать для сравнения

dftemp['ewm_12'] = ((dftemp1.loc[(dftemp1.index < dftemp.index)][-11:]['GBPAUD'].append(dftemp.loc[(dftemp.index)])['GBPAUD']).ewm(min_periods=12,span=12, adjust = True).mean()[-1:])
...