只有整数、切片 (`:`)、省略号 (`...`)、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 张量是有效的索引