Google Colab中pd.concat报错TypeError求助:无法拼接numpy.ndarray类型
解决pd.concat时的TypeError问题
这个错误很常见,原因是pd.concat()只能处理pandas的Series或DataFrame对象,但你的y_pred和pred_Probability是numpy数组(<class 'numpy.ndarray'>),直接拼接自然会报错。
修复思路
把numpy数组转换成pandas Series(多维数组则转成DataFrame),给它们指定明确的列名,再进行拼接操作。
修改后的代码
# 将numpy数组转为pandas Series,并指定列名 y_pred_series = pd.Series(y_pred, name='y_pred') pred_prob_series = pd.Series(pred_Probability, name='pred_Probability') # 拼接所有对象并保存到CSV pd.concat([X_train.iloc[:,0], y_pred_series, pred_prob_series], axis=1).to_csv("/gdrive/My Drive/results.csv", index=None)
额外说明
如果pred_Probability是二维数组(比如多分类任务中每个样本对应多个类别的概率),需要把它转换成DataFrame,示例代码如下:
# 为每个概率列生成自定义表头 pred_prob_df = pd.DataFrame(pred_Probability, columns=[f'prob_class_{i}' for i in range(pred_Probability.shape[1])]) # 后续拼接时用pred_prob_df替代pred_prob_series即可
指定name或列名是为了让输出的CSV有清晰的表头,方便后续查看和分析数据。
内容的提问来源于stack exchange,提问作者Sai
相关产品推荐
相关产品推荐

