在python中将4维数组中获取3维数组的方法
在python中将4维数组中获取3维数组的方法
得到了这个数组,它的大小是(26,16,16,16)。 我需要绘制最后3个维度与不同参数的关系图,但我不清楚如何在不造成灾难的情况下切割第一个维度,以便仅获得(16,16,16)数据值 对不起,如果这有点容易。我是python新手,仍在学习许多基本知识.
16x16矩阵只是一个向量,它有16行大小为16的行
一个26x16x16x16矩阵就是一个有16x16x16,26次的向量。您可以这样做,例如:
dimension_1 = matrix[0:1, 16, 16, 16]
dimension_2 = matrix[1:2, 16, 16, 16]
dimension_3 = matrix[2:3, 16, 16, 16]
如果只需要为特定行指定整个列,还可以执行以下操作:
dimension_1 = matrix[0, :, :, :]
dimension_2 = matrix[1, :, :, :]
dimension_3 = matrix[2, :, :, :]
其中[a:b]表示切片,其中a是要裁剪列的初始值,b是裁剪结束的值
假设最后3个维度,意思是指指数24,25,26
举一个更具体的例子:
random_matrix = np.random.rand(26, 16, 16, 16)
现在,我们有一个巨大的矩阵,可以选择任何给定的索引
test = random_matrix[0, :, :, :].reshape(16, 16, 16)
或其他方式:
test_2 = random_matrix[0, 0:16, 0:16, 0:16]
选择最后三个元素:
test_3 = random_matrix[23:26, :, : ,:]
问题是需要哪个的16x16x16值。二维数组只是一个矩阵,所以现在考虑一个三维的矩阵。维度数组(4,3,3)只是一个数据对象中的四个3x3矩阵。因此,如果您键入array[0],将得到第一个3x3,array[1]第二个,依此类推。
现在,四维数组基本上是26个矩阵块,每个块16个矩阵深,每个矩阵16x16。因此,如果只想访问第一个块,array[0]将返回该块。如果您现在想要第一个块的第三个矩阵,请执行array[0][2],依此类推。
可以通过使用第一个索引来访问属性,如数组[0]、数组[1]、数组[2]…您可以通过这种方式访问所有26个属性并绘制。
参考文献链接
https://www.cnpython.com/qa/1629737
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-02-21 AR 3D Map地图技术
2021-02-21 deeplearning搜索空间
2021-02-21 deeplearning算法优化原理
2021-02-21 deeplearning模型库
2021-02-21 硬件delay评估表
2021-02-21 Deeplearning知识蒸馏
2021-02-21 deeplearning量化