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

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

本文详解如何利用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 相关产品和应用

全部下载

专题列表