如何在Python中按行合并二维NumPy数组?
合并两个二维NumPy数组(行追加)
嘿,要把二维数组b追加到a的末尾(也就是按行堆叠),NumPy有两个非常方便的内置函数可以实现,下面给你详细说明:
方法1:使用np.concatenate
这个函数可以指定合并的轴方向,对于二维数组来说,axis=0代表沿着行方向合并(也就是把b的行挨个加到a的最后一行后面)。
示例代码:
import numpy as np # 定义你的两个数组 a = np.array([[1, 2], [2, 4], [6, 8]]) b = np.array([[3, 5], [7, 4]]) # 按行合并 c = np.concatenate((a, b), axis=0) print(c)
运行后输出就是你想要的结果:
[[1 2] [2 4] [6 8] [3 5] [7 4]]
方法2:使用np.vstack
如果觉得指定axis有点麻烦,np.vstack(vertical stack,垂直堆叠)是更直观的选择,它专门用来在行方向合并数组,不需要额外指定轴参数:
示例代码:
import numpy as np a = np.array([[1, 2], [2, 4], [6, 8]]) b = np.array([[3, 5], [7, 4]]) c = np.vstack((a, b)) print(c)
这个代码的输出和上面完全一样。
注意事项
- 要确保两个数组的列数相同,不然NumPy会抛出错误——毕竟二维数组按行合并时,每一行的元素个数得一致才行~
内容的提问来源于stack exchange,提问作者Sad Vaseb
相关产品推荐
相关产品推荐

