我正在尝试将解决方案提交给Exercise: Missing Values,但是提交后出现以下错误
错误:在“ Id”列中找不到1459个必需的键值
错误:在“ Id”列中找不到所需的键值“ 1461” 。 。
错误:在“ Id”列中找不到所需的键值“ 1469”
问题是测试数据集只有1459行,从错误看来验证集期望有更多条目?
答案 0 :(得分:1)
如果转到output/submission.csv
,您会注意到Id
从0
开始。然后查看input/sample_submission.csv
,注意它的Id
从1461
开始,这正是竞争对手所期待的。原始测试数据始于1461
。可能发生的情况是,您在用于写入输出的测试Id
中丢失了原始的DataFrame
号。
您可以这样修复它:
output = pd.DataFrame({'Id': X_test.index,
'SalePrice': preds_test})
X_Test
包含您的原始Id
号,并确保您的输出正确。
答案 1 :(得分:0)
在开始阅读csv文件时,您会看到index_col='Id'
参数。
df_train_full = pd.read_csv("/kaggle/input/.../train.csv", index_col='Id')
df_test_full = pd.read_csv("/kaggle/input/.../test.csv", index_col='Id')