只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是生成 rnn 的有效索引

Posted

技术标签:

【中文标题】只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是生成 rnn 的有效索引【英文标题】:only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices in making rnn 【发布时间】:2020-07-14 04:38:24 【问题描述】:

在循环神经网络测试过程中 Pandas concat 出现错误,只是试图使用 2012-2016 年的数据预测谷歌 2017 年 1 月的股票开盘

import numpy as np
import pandas as pd 
import matplotlib.pyplot
from sklearn.preprocessing import MinMaxScaler
from keras.models import Sequential
from keras.layers import Dense,LSTM,Dropout

dataset=pd.read_csv('C:/Users/DELL/Desktop/Deep_Learning_A_Z/Recurrent_Neural_Networks/Google_Stock_Price_Train.csv')
dataset=dataset.iloc[:,1:2].values

sc=MinMaxScaler(feature_range=(0,1))
trained=sc.fit_transform(dataset)

X_train=[]
y_train=[]
for i in range(60,1258):
    X_train.append(trained[i-60:i,0])
    y_train.append(trained[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.shape[1],1))
regressor=Sequential()

regressor.add(LSTM(units=50,return_sequences=True,input_shape=(X_train.shape[1],1)))
regressor.add(Dropout(.2))
regressor.add(LSTM(units=50,return_sequences=True))
regressor.add(Dropout(.2))
regressor.add(LSTM(units=50,return_sequences=True))
regressor.add(Dropout(.2))
regressor.add(LSTM(units=50))
regressor.add(Dropout(.2))
regressor.add(Dense(units=1))
regressor.compile(optimizer='rmsprop',loss='mean_squared_error')
regressor.fit(X_train,y_train,epochs=100,batch_size=32)

test=pd.read_csv('C:/Users/DELL/Desktop/Deep_Learning_A_Z/Recurrent_Neural_Networks/Google_Stock_Price_Test.csv')
test=test.iloc[:,1:2].values

dataset_total = pd.concat((dataset['Open'],test['Open']), axis = 0)

【问题讨论】:

欢迎来到 *** 社区。请为您的问题创建一个minimal reproducible example,以便忙碌的人们可以快速查看。在提出新问题之前,请搜索有类似问题的previously asked questions。 Similar Question 【参考方案1】:
test=test.iloc[:,1:2].values

values test 是一个 numpy 数组。

test['Open']

用像 'Open'` 这样的字符串索引是错误的,因此会出错。

dataset 也是如此。

【讨论】:

以上是关于只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是生成 rnn 的有效索引的主要内容,如果未能解决你的问题,请参考以下文章

只有整数、切片 (`:`)、省略号 (`...`)、numpy.newaxis (`None`) 和整数或布尔数组是生成 rnn 的有效索引

TypeError:只有整数、切片、省略号、tf.newaxis 和标量 tf.int32/tf.int64 张量是有效的索引

Python 只有整数、切片...和整数或布尔数组是有效的索引

使用 scikit 学习的一种热编码和熊猫

Python错误IndexError:只有整数

是否有与 NumPy 的省略号切片语法 (...) 等效的 Julia?