numpy系列之数组合并(横向和纵向)

咖啡半糖
咖啡半糖
发布时间:2026-10-14| 8人浏览过
原创

本文详细介绍numpy中数组合并的两种主要方式:横向与纵向合并。通过concatenate、hstack、column_stack实现横向拼接,利用concatenate、vstack、row_stack完成纵向堆叠,涵盖axis参数设置及具体代码示例,帮助开发者掌握多维数组的高效合并技巧。

首先创建两个用于演示合并操作的数组。


import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr1)

输出结果如下: [[1 2 3] [4 5 6]]


arr2 = np.array([[7, 8, 9], [10, 11, 12]])
print(arr2)

输出结果如下: [[ 7 8 9] [10 11 12]]

1.横向合并

横向合并是指将两个行数相同的数组在列方向上进行拼接。与DataFrame不同,numpy数组合并无需依赖公共列,仅需将两个数组直接拼接。实现横向合并的方法包括concatenate、hstack和column_stack三种。

1.1 concatenate方法

使用concatenate方法时,需将待合并的数组以列表形式传入,并通过axis参数指定合并方向。当设置axis=1时,表示在列方向(即横向)上进行合并。


print(np.concatenate([arr1, arr2], axis=1))

输出结果如下: [[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]

1.2 hstack方法

使用hstack方法时,将待合并的数组以元组形式传入该函数,即可实现数组的横向合并。


print(np.hstack((arr1, arr2)))

输出结果如下: [[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]

1.3 column_stack方法

column_stack方法与hstack的功能基本一致,同样是将待合并的数组以元组形式传入该函数,从而实现数组的横向合并。


print(np.column_stack((arr1, arr2)))

输出结果如下: [[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]

2.纵向合并

纵向合并是指将两个列数相同的数组在行方向上进行拼接。实现纵向合并的方法包括concatenate、vstack和row_stack三种。

2.1 concatenate方法

使用concatenate方法进行纵向合并时,需将待合并的数组以列表形式传入,并通过axis参数指定合并方向。当设置axis=0时,表示在行方向(即纵向)上进行合并。


print(np.concatenate([arr1, arr2], axis=0))

输出结果如下: [[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]

2.2 vstack方法

vstack是与hstack对应的纵向合并方法。只需将待合并的数组以元组形式传入vstack函数,即可实现数组的纵向合并。


print(np.vstack((arr1, arr2)))

输出结果如下: [[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]

2.3 row_stack方法

row_stack是与column_stack对应的纵向合并方法。只需将待合并的数组以元组形式传入row_stack函数,即可实现数组的纵向合并。


print(np.row_stack((arr1, arr2)))

输出结果如下: [[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]]

至此,关于numpy数组合并(横向和纵向)的介绍已完成。如需了解更多numpy数组合相关内容,可查阅本站过往文章或继续浏览后续教程。感谢支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。