Numpy:3维数组的合并 —— 还是3维,但最高维负责计数

阿里云2000元红包!本站用户参与享受九折优惠!

前言:高维数组真正”有意义的数”是最底层的两维。这篇文章中已经明确说明:2维以上的数组,真正”有实际意义数值“的是最底层的两维,甚至可以说是最底层的那一维!

所以:当多个3维数组需要合并时,已知它们的”最高维/第三维“是没有实际意义,只起计数作用。那么多个3维数组的合并,其实就是”最高维/第三维“这个”计数维“的数值增大而已!

例如:有4个(5, 20, 20)的3维数组,它们要合并在一起时,其实就变为:(5+5+5, 20, 20) = (15, 20, 20)的一个3维数组。

包:import numpy as np
函数:np.concatenate()

实现很简单,一个例子就明白:

import numpy as np
a1 = np.zeros( (5, 20, 20) ) + 1
a2 = np.zeros( (5, 20, 20) ) + 2
a3 = np.zeros( (5, 20, 20) ) + 3
a4 = np.zeros( (5, 20, 20) ) + 4
# 一边用一个列表汇总它们,纯粹是为了方便:
origin_x = [a1, a2, a3, a4]
# 合并:
array_x = np.concatenate( origin_x, axis = 0 )
# 结果:
array_x.shape
Out[4]: (20, 20, 20)

补充:np.concatenate()函数中的”axis参数“怎么理解:
其实很好理解:原来数据是3维的,即有3个维度,这3个维度的编号就是0、1、2(从左往右、从高到低);现在我们希望是在”最高维/第三维“合并,那axis就是0,即编号为0的那个维度。

注意:区分和这篇文章的不同:Numpy:2维数组的合并 —— 多一个最高维(3维)来记录

https://www.jianshu.com/p/7435f8cc02af

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论