Почему итерация не работает правильно в Python внутри метода? - PullRequest
0 голосов
/ 25 сентября 2019

Я знаю, что это простой вопрос, но, к сожалению, он работает не так, как ожидалось.Я имею в виду учебник по https://towardsdatascience.com/playing-with-time-series-data-in-python-959e2485bff8 и застрял в ситуации, когда при вызове метода, приведенного ниже, длина возвращаемых массивов всегда равна 1.

def create_dataset(dataset, look_back=1):
  dataX, dataY = [], []
  for i in range(len(dataset) - look_back):
    print('i:',i) #Using this for debugging
    a = dataset[i:(i + look_back), 0]
    dataX.append(a)
    dataY.append(dataset[i + look_back, 0])  
    print(len(dataY))
    return np.array(dataX),np.array(dataY)

Вот гдеЯ называю метод:

look_back = 2
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test,look_back)

Длина поезда и теста

print(len(train),len(test))
584, 147

Полученный результат:

i: 0
1
i: 0
1

В то время как ожидаемый результат:

582
145

Любые предложения приветствуются.

...