如何在 NumPy 中将 HDF5 2D 数组转换为 1D?

Posted

技术标签:

【中文标题】如何在 NumPy 中将 HDF5 2D 数组转换为 1D?【英文标题】:How to convert HDF5 2D arrays to 1D in NumPy? 【发布时间】:2012-05-09 19:40:58 【问题描述】:

我有一个从 HDF5 文件切片的二维数组 (480*640),如何使用 NumPy 将其转换为一维数组?

【问题讨论】:

【参考方案1】:

使用reshape 函数。有关示例,请参见 http://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html

【讨论】:

更具体地说,OP 可能想要flat_data = x.reshape(-1)(文档中提到了它,但很多人没有注意到您可以用-1 替换未知长度)或flat_data = x.ravel()。还有x.flatten(),但它会复制。在这种情况下,ravelreshape 是最佳选择。【参考方案2】:

ravel() 是更指定的用于数组展平的 numpy.array 方法。因此,例如,如果您有名为 A 的 2d numpy.array,那么 A.ravel() 将返回包含来自 A 的元素的 1d 数组。

【讨论】:

以上是关于如何在 NumPy 中将 HDF5 2D 数组转换为 1D?的主要内容,如果未能解决你的问题,请参考以下文章

在 NumPy 中将 4D 数组重塑为 2D 数组背后的直觉和想法

如何在 Numpy 中将索引数组转换为掩码数组?

将包含 jpeg 图像的文件夹转换为 hdf5

如何在 C++ 中将 OpenCV 2D 矩阵转换为 1D 数组?

将 2d numpy 数组转换为列表列表 [重复]

如何在 C++ 中使用 HDF5 存储多个 2D 字符数组?