NumPy一维与二维数组拼接实战:利用newaxis解决维度不匹配

青禾
青禾
发布时间:2026-10-13| 3人浏览过
原创

本文详解如何利用NumPy实现一维与二维数组的拼接。重点解析shape为(3,)的一维数组与(3,1)二维数组的区别,并通过np.newaxis将一维数组升维,配合concatenate、hstack等函数完成拼接操作,提供完整代码示例。

一维数组

1. 使用NumPy初始化一维数组

a = np.array([1,2,3]);
print a.shape

执行上述代码后,输出的形状(shape)结果应为 (3,)。

二维数组

2. 使用NumPy初始化二维数组

a = np.array([[1,2,3]]);
b = np.array([[1],[2],[3]]);

print a.shape//(1,3)
print b.shape//(3,1)

需要特别注意,形状为 (3,) 的数组与形状为 (3,1) 的数组在定义上存在本质区别:前者属于一维数组,而后者属于二维数组。

数组拼接

3. NumPy提供了多种拼接函数,例如 hstack 和 vstack 等,网络上也有大量相关总结文章。但执行拼接操作的前提是两个数组的维度必须兼容。因此,当尝试将一维数组与二维数组进行拼接时,必须使用 newaxis 将一维数组转换为二维数组,即将其 shape 从 (3,) 转换为 (3,1)。

a = np.array([1,2,3]);
b = np.array([[1],[2],[3]]);
#将一维数组a转化为二维数组
a = a[:,np.newaxis];
c = np.concatenate((b,a),axis=1)
print c.shape//输出为(3,2)

总结

以上即为利用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 算法库。