Pandas - KeyError:训练Keras模型时,'[]不在索引中

时间:2017-08-03 08:47:16

标签: python pandas csv machine-learning keras

我正在尝试根据我的数据集中的部分功能训练Keras模型。我已经加载了数据集并提取了这样的功能:

train_data = pd.read_csv('../input/data.csv')

X = train_data.iloc[:, 0:30]
Y = train_data.iloc[:,30]

# Code for selecting the important features automatically (removed) ...    

# Selectintg important features 14,17,12,11,10,16,18,4,9,3
X = train_data.reindex(columns=['V14','V17','V12','V11','V10','V16','V18','V4','V9','V3'])
print(X.shape[1]) # -> 10

但是当我调用fit方法时:

# Fit the model
history = model.fit(X, Y, validation_split=0.33, epochs=10, batch_size=10, verbose=0, callbacks=[early_stop])

我收到以下错误:

KeyError: '[3 2 5 1 0 4] not in index'

我错过了什么?

1 个答案:

答案 0 :(得分:10)

numpy期望模型输入为pandas.DataFrame个数组 - 而不是X = train_data.iloc[:, 0:30].as_matrix() Y = train_data.iloc[:,30].as_matrix() 个。尝试:

as_matrix

由于pandas.DataFrame方法会将numpy.array转换为=LINEST(IF(ISNUMBER(C15:C26);C15:C26;);IF(ISNUMBER(C15:C26);CHOOSE({1;2;3};1;D15:D26;E15:E26););1;1)