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

将3个shape为(6,1)的数组合并为3列DataFrame,reshape报错如何解决?

错误原因

你报错的核心是传入数据的维度和指定列数不匹配:
你将3个shape为(6,1)的数组堆叠后reshape为(3,6),得到的是3行6列的数组,但你指定的columns参数只有3个字段,pandas默认传入数据的每一行对应一条样本、列数需要和字段数一致,自然触发维度不匹配报错。
而且就算你调整列数凑过报错,这么reshape得到的数据顺序也是错的:你是把三个数组整体堆叠后拉平,无法实现「每个数组对应一列」的需求。

正确实现方案

方案1:直接传字典生成DataFrame(最简便)

用字典指定列名和对应数据,搭配flatten()把(6,1)的二维数组转为一维数组即可:

df = pd.DataFrame({
    'Sigma': array_1.flatten(),
    'x': array_2.flatten(),
    'y': array_3.flatten()
})

方案2:先按列拼接numpy数组再转DataFrame

如果需要先处理合并后的数组,可以用np.column_stack直接按列拼接三个数组,得到(6,3)的二维数组(6行3列,刚好对应6条样本3个字段),再转DataFrame:

# 按列拼接三个数组,得到shape为(6,3)的结果
arr = np.column_stack([array_1, array_2, array_3])
df = pd.DataFrame(data=arr, columns=['Sigma', 'x', 'y'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:27:02