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

Python中如何将1维numpy数组追加到2维numpy数组

为什么代码输出一维数组

numpy的append方法如果不显式指定axis参数,默认会先将两个输入数组全部扁平化转为一维,再执行拼接操作,所以你最终得到的是合并后的一维数组,而非保留原二维结构。

正确实现方案

要得到预期的二维拼接结果,需要满足两个核心条件:

  • 显式指定axis=0,代表沿行维度做拼接
  • 待追加的数组维度要和原数组匹配:原数组arr1的形状是(2,3)(2行3列),待追加的[3,3,3]需要转为(1,3)形状的二维数组,才能正常拼接。

你可以选择以下任意一种写法实现:

方法1:使用np.append实现

import numpy as np
arr1 = np.array([[1, 1, 1], 
                 [2, 2, 2]])
# 待追加数组加一层方括号转为二维,同时指定axis=0
arr2 = np.append(arr1, [[3, 3, 3]], axis=0)
print(arr2)

方法2:使用np.vstack实现(写法更简洁)

np.vstack是垂直拼接专用方法,会自动处理一维数组的维度适配,不需要手动升维:

import numpy as np
arr1 = np.array([[1, 1, 1], 
                 [2, 2, 2]])
arr2 = np.vstack([arr1, [3, 3, 3]])
print(arr2)

两种方法的输出均为预期结果:

[[1 1 1]
 [2 2 2]
 [3 3 3]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 05:51:04