Pandas - KeyError: '[] not in index' 训练 Keras 模型时

Posted

技术标签:

【中文标题】Pandas - KeyError: \'[] not in index\' 训练 Keras 模型时【英文标题】:Pandas - KeyError: '[] not in index' when training a Keras modelPandas - KeyError: '[] not in index' 训练 Keras 模型时 【发布时间】:2018-01-10 18:22:07 【问题描述】:

我正在尝试根据我的数据集中的部分特征来训练 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'

我错过了什么?

【问题讨论】:

检查this thread。 【参考方案1】:

keras 期望模型输入是 numpy 数组 - 而不是 pandas.DataFrames。试试:

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

由于as_matrix 方法将pandas.DataFrame 转换为numpy.array

【讨论】:

以上是关于Pandas - KeyError: '[] not in index' 训练 Keras 模型时的主要内容,如果未能解决你的问题,请参考以下文章

在 Spyder 中打开数据帧时出现 KeyError('pandas._libs.interval')

pandas提示“Keyerror”

使用 Pandas 访问 csv 文件时出现 KeyError

错误:pandas hashtable keyerror

Pandas Python:KeyError 日期

Pandas - KeyError: '[] not in index' 训练 Keras 模型时