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

使用np.append向ndarray追加列时报ValueError错误如何解决

错误原因

你传入的[m[:,0], m[:,1]]会被numpy先组装为shape=(2, 20640)的二维数组,和原数组x的shape=(20640,7)在0维的长度不匹配,所以拼接失败。

正确写法

方案1:直接提取m的对应列拼接(最推荐)

你要追加的两列本身就是m的前两列,无需拆分为两个一维数组再组装,直接提取后拼接即可:

import numpy as np
x = np.ones((20640, 7))
m = np.ones((20640, 2))
# m[:,:2]本身就是shape=(20640,2)的二维数组,和x的0维长度完全匹配
res = np.append(x, m[:, :2], axis=1)

最终得到的res的shape为(20640, 9),符合预期。

方案2:单独拼接两个一维数组

如果你确实需要单独处理两个一维数组再拼接,可以用np.c_直接按列组装,会自动将一维数组转为列向量:

res = np.c_[x, m[:,0], m[:,1]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:06:01