pandad reader :Ошибка типа: только целочисленные скалярные массивы могут быть преобразованы в скалярный индекс

#python #numpy

#питон #тупица

Вопрос:

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

 dataset = data.values  print(len(dataset))   training_data_size = math.ceil(len(dataset)*.7)  scaler = MinMaxScaler(feature_range=(0,1))  scaled_data = scaler.fit_transform(dataset)   train_data = scaled_data[0:training_data_size,:]  x_train = []  y_train = []   for i in range(60,len(train_data)):  x_train.append(train_data[i-60:i,0])  y_train.append(train_data[i,0])   x_train,y_train = np.array(x_train),np.array(y_train)  x_train = np.reshape(x_train,(x_train.shape[0],x_train[1],1))  

Ошибка выглядит следующим образом:

 Traceback (most recent call last):  File "C:UsersUSERAppDataRoamingPythonPython36site-packagesnumpycorefromnumeric.py", line 58, in _wrapfunc  return bound(*args, **kwds) TypeError: only integer scalar arrays can be converted to a scalar index  During handling of the above exception, another exception occurred:  Traceback (most recent call last):  File "C:/Users/USER/PycharmProjects/Predict Stock Price/main.py", line 105, in lt;modulegt;  LSTM_predidction()  File "C:/Users/USER/PycharmProjects/Predict Stock Price/main.py", line 72, in LSTM_predidction  x_train = np.reshape(x_train,(x_train.shape[0],x_train[1],1))  File "lt;__array_function__ internalsgt;", line 6, in reshape  File "C:UsersUSERAppDataRoamingPythonPython36site-packagesnumpycorefromnumeric.py", line 299, in reshape  return _wrapfunc(a, 'reshape', newshape, order=order)  File "C:UsersUSERAppDataRoamingPythonPython36site-packagesnumpycorefromnumeric.py", line 67, in _wrapfunc  return _wrapit(obj, method, *args, **kwds)  File "C:UsersUSERAppDataRoamingPythonPython36site-packagesnumpycorefromnumeric.py", line 44, in _wrapit  result = getattr(asarray(obj), method)(*args, **kwds) TypeError: only integer scalar arrays can be converted to a scalar index  Process finished with exit code 1  

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

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

1. не могли бы вы, пожалуйста, вставить полную ошибку, в основном хотите понять, какую строку она вызывает

2. Вы , вероятно, хотели написать np.reshape(x_train,(x_train.shape[0],x_train.shape[1],1)) , вы просто забыли shape атрибут.

Ответ №1:

вам не хватает формы во втором элементе кортежа

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

правильный :

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