如何在 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()
,但它会复制。在这种情况下,ravel
或 reshape
是最佳选择。【参考方案2】:
ravel() 是更指定的用于数组展平的 numpy.array 方法。因此,例如,如果您有名为 A 的 2d numpy.array,那么 A.ravel() 将返回包含来自 A 的元素的 1d 数组。
【讨论】:
以上是关于如何在 NumPy 中将 HDF5 2D 数组转换为 1D?的主要内容,如果未能解决你的问题,请参考以下文章
在 NumPy 中将 4D 数组重塑为 2D 数组背后的直觉和想法