You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

神经网络分类任务创建DataFrame遇ValueError: Data must be 1-Dimensional错误

分类任务预测结果与测试集列合并成DataFrame的报错解决

核心问题与修复方案

维度不匹配(最常见原因)

神经网络输出的预测结果y_pred一般是二维数组(比如形状为(样本数, 1)),而测试集提取的列是pandas一维Series,维度不一致触发报错。
修复代码:

import pandas as pd

# 将二维预测结果转为一维数组
result_df = pd.DataFrame({
    '测试集目标列': test_df['你要提取的列名'],
    '预测结果': y_pred.ravel()  # 或y_pred.flatten(),两者都能实现降维
})

索引不匹配

若测试集索引不是连续整数(比如有缺失或自定义索引),会和默认从0开始的预测结果索引不匹配,导致报错。
修复代码:

# 重置测试集索引,避免索引冲突
test_df = test_df.reset_index(drop=True)
result_df = pd.DataFrame({
    '测试集目标列': test_df['你要提取的列名'],
    '预测结果': y_pred.ravel()
})

前置验证步骤

创建DataFrame前先确认两者长度一致,避免无效调试:

# 检查测试集列长度与预测结果长度
print("测试集列长度:", len(test_df['你要提取的列名']))
print("预测结果长度:", len(y_pred.ravel()))

内容的提问来源于stack exchange,提问作者Shankha Saha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:51:28