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

使用np.append合并不同长度数组失败,如何实现类似R的多向量合并?

在NumPy中合并不同长度的一维数组

要实现和R中c(a,b,c)一样的合并效果,你可以使用NumPy的np.concatenate函数,这是合并一维数组的标准方法,无论数组长度是否一致都能正常工作:

import numpy as np

a = np.array([1,2,3])
b = np.array([4,5,6,7])
c = np.array([8,9,10])
d = np.concatenate([a, b, c])
print(d)

运行后会得到你想要的结果:

[ 1  2  3  4  5  6  7  8  9 10]

为什么你的np.append用法会出错

当你执行np.append(a, (b,c))时,因为b和c长度不同,元组(b,c)无法被转换为一个规则的多维数组,NumPy会将其视为一个包含两个数组的object类型序列,最终得到的是混合数值和数组的object数组,而非纯数值的一维数组。

如果坚持要用np.append,可以先把b和c合并后再传入:

d = np.append(a, np.concatenate([b, c]))

不过更推荐直接使用np.concatenate,它语义更清晰,效率也更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:31:32