如何使用pandas以CSV格式附加到正确的ID列?

时间:2016-12-04 10:40:06

标签: python csv pandas random-forest

我有一个测试文件和100个模型,我想在测试中评估。

在测试文件中有2列,第一列是ID,第二列是概率。

我希望每个模型都将其评估附加到相关ID旁边的新列。

我的代码现在在彼此之下构建它,如下所示:

1 0.1
2 0.12
3 0.32
1 0.21
2 0.22
3 0.17

我需要这样的形式:

1 0.1 0.21
2 0.12 0.22
3 0.32 0.17

到csv。

我的代码如下所示:

for chunk in pd.read_csv('test_numeric_out.csv', chunksize=10000):
chunk = chunk.drop(chunk.columns[len(chunk.columns)-1], axis=1)
for model in models:
    X_test = chunk.drop(['Id'],axis=1)
    inputnames = X_test.columns.values
    X_test['p_0']=0
    X_test['p_1']=0
    X_test[ ['p_0','p_1'] ]  = model.predict_proba(X_test[inputnames])
    submission = pd.DataFrame({
        "Id":chunk['Id'],
        "Response":X_test['p_1']
        })
    if (head==0):
        submission.to_csv(proba_out_csv,
        index=False,
        header=True,
        mode='a',
        chunksize=100000)
    else:
        submission.to_csv(proba_out_csv,
        index=False,
        header=False,
        mode='a',
        chunksize=100000)
    head = 1

0 个答案:

没有答案