python教程,numpy如何实现ndarray的横向及纵向合并?
发布于 作者:苏南大叔 来源:程序如此灵动~

接着很久之前的话题,多个ndarray
类型变量进行合并。以前的文章里面,使用了一系列匪夷所思的函数来实现这个需求,包括:hstack()、.vstack()、.dstack()、.column_stack()、.row_stack()、.concatenate()
。然而,这里本来就有两个简单好写也比较好理解的函数,可以实现这个需求。这就是本文的主角:np.c_()
和np.r_()
。

苏南大叔的"程序如此灵动"技术博客,记录苏南大叔的代码编程经验总结。本文测试环境:win10
,python@3.11.0
,numpy@1.24.2
,pandas@1.5.3
。本文以最常见的二维数组为主要的龙套变量。
龙套变量
np.c_ 横向合并(dimension 0)
np.c_()
时横向合并,新的变量放置在原变量的右边,所以要求两者行数相同。
输出:
行数不一致的时候,报错输出:

np.r_ 横向合并(dimension 1)
np.r_()
时横向合并,新的变量放置在原变量的下边,所以要求两者列数相同。
输出:
列数不一致的时候,报错输出:

特例一:三个及以上ndarray合并
超过两个ndarray
,也是可以合并的。例如:
输出:

特例二:三维及以上ndarray合并
维数超过两维的ndarray
,也是可以合并的。例如:
输出:

不过这里的合并规则,需要大家仔细体会哪个维度是dimension 0
了。更高维度的情况,苏南大叔就不做讨论了,一般来说也用不到,也很难理解。
相关文章
结束语
感觉写文章就给自己看好了,可能用不着那么多乱七八糟的客套话。


