【发布时间】:2012-05-25 19:00:57
【问题描述】:
我在一个 hdf5 文件下有几个二维数组,如何在 PyTables 中将它们合并为一个多维数组?即,文件现在是数组 A、数组 yB、数组 C,我希望它们是数组 X 具有第 1 维 A、第 2 维 B、第 3 维 C
【问题讨论】:
-
合并是什么意思?
标签: multidimensional-array numpy hdf5 pytables
我在一个 hdf5 文件下有几个二维数组,如何在 PyTables 中将它们合并为一个多维数组?即,文件现在是数组 A、数组 yB、数组 C,我希望它们是数组 X 具有第 1 维 A、第 2 维 B、第 3 维 C
【问题讨论】:
标签: multidimensional-array numpy hdf5 pytables
我想你正在寻找numpy.dstack()。
来自docs:
Stack arrays in sequence depth wise (along third axis).
Takes a sequence of arrays and stack them along the third axis to make a single array.
All of them must have the same shape along all but the third axis.
希望这会有所帮助。爱 Numpy!
【讨论】:
arrayA_again = multiarray[:,:,0]
arrayA_again = multiarray[:,:,0],arrayD_again = multiarray[:,:,3],等等。另外,数量DIMENSIONS(ndims 用于 numpy)将是三个:高度、宽度和深度,不要与数组的形状混淆,这可能是您想要的长度。如果您有 200 行和 300 列的数组,并且将其中的 20 个堆叠起来,您将得到一个形状 = (200, 300, 20) 的三维数组。如果你想要最后一个,例如,你可以切片multiarray[:,:,-1]。