изменение формы nparray вернуло «IndexError: индекс кортежа вне диапазона» - PullRequest
0 голосов
/ 27 января 2019

изменение формы nparray вернуло «IndexError: индекс кортежа вне диапазона»

После «https://machinelearningmastery.com/time-series-prediction-lstm-recurrent-neural-networks-python-keras/" я создал фрейм данных из файла csv. Затем перенес эти значения в набор данных nparray»". Масштабированный набор данных затем разделен на поезд и набор тестов. Сделал две колонки (trainX, trainY) со значениями и его 1 отставшими долями. Затем попытался изменить форму trainX.

dataset = passenger_data.values
dataset = dataset.astype('float32')
scale = MinMaxScaler(feature_range=(0,1))
dataset = scale.fit_transform(dataset)

train, test = dataset[0:train_size, :], dataset[train_size:len(dataset), :]
train_size = int(len(dataset) * 0.70)
train, test = dataset[0:train_size, :], dataset[train_size:len(dataset), :]

def create_coloumns(dataset, lag = 1):
    colX, colY = [], []
    for i in range(len(dataset) - lag):
        a = dataset[i,0]
        colX.append(a)
    for j in range(lag, len(dataset)):
        b = dataset[j,0]
        colY.append(b)
    return np.array(colX), np.array(colY)

trainX, trainY = create_coloumns(train, 1)
testX, testY = create_coloumns(test, 1)

trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))


---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-62-96b89321dd69> in <module>
      1 # trainX.shape
----> 2 trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
      3 # testX = np.reshape(testX, (testX.shape[0], 1, testX.shape[1]))

IndexError: tuple index out of range

1 Ответ

0 голосов
/ 27 января 2019

В отличие от Matlab, числовые массивы могут быть одномерными, поэтому в параметре shape есть только одно значение.

a = np.array([1,2,3,4])
a.shape[0] # ok
a.shape[1] # error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...