如何将for循环生成的多组预测结果按列拼接为一个DataFrame
错误原因
你调用pd.concat()时默认使用axis=0(按行拼接),会把列表中每个单列DataFrame依次追加到已有数据的行下方。由于每个DataFrame的列名互不相同,拼接后非当前DataFrame的列都会自动填充NaN,就出现了你说的瀑布状空值结构。
你需要的是按列拼接,只需要修改pd.concat的轴参数即可。
修复代码
只需要把最后一行拼接的代码改成:
final_prediction = pd.concat(pred_list, axis=1)
即可得到每行对应同一样本所有预测值的结果,按你的示例3组3样本的场景,输出就是3行3列的结构。
额外提示
你创建DataFrame时列名写的predicition{}存在拼写错误,正确拼写为prediction{},可以顺便修正避免后续调用列名时出错。
内容的提问来源于stack exchange,提问作者lindo
相关产品推荐
相关产品推荐

