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

如何将多个列向量NumPy数组按指定方式拼接至原数组

解决方案:拼接NumPy数组得到目标结构

嘿,这个拼接需求其实很清晰,咱们分两步就能轻松实现,我给你拆解一下具体操作:

第一步:准备原始数据

首先先把题目里的数组都定义好:

import numpy as np

# 原数组a
a = np.array([ [1, 2, 3], [2, 3, 4] ])
# 三个列向量
b = np.array([[1], [2], [3]])
c = np.array([[5], [6], [7]])
d = np.array([[9], [10], [11]])

第二步:拼接列向量成3×3数组

我们需要把b、c、d这三个列向量横向拼接,变成一个3行3列的数组,这里用np.hstack()(horizontal stack,横向堆叠)最方便:

# 横向拼接三个列向量,得到底部的3×3数组
bottom_section = np.hstack([b, c, d])

如果你习惯用更通用的np.concatenate(),也可以这样写,效果完全一样:

bottom_section = np.concatenate([b, c, d], axis=1)  # axis=1代表横向拼接

第三步:纵向拼接得到最终数组

接下来把原数组a和刚生成的bottom_section纵向拼接,用np.vstack()(vertical stack,纵向堆叠)即可:

# 纵向拼接原数组和底部数组,得到目标结果
final_a = np.vstack([a, bottom_section])

同样,用np.concatenate()的写法是:

final_a = np.concatenate([a, bottom_section], axis=0)  # axis=0代表纵向拼接

验证结果

运行代码后打印final_a,就能得到你想要的目标数组:

print(final_a)
# 输出结果:
# [[ 1  2  3]
#  [ 2  3  4]
#  [ 1  5  9]
#  [ 2  6 10]
#  [ 3  7 11]]

简单解释一下关键函数的要求:

  • np.hstack()要求所有输入数组的行数必须相同,这里三个列向量都是3行,刚好符合条件;
  • np.vstack()要求所有输入数组的列数必须相同,原数组a是3列,bottom_section也是3列,所以可以顺利拼接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:32:26