在python中更改HDF5数组的数据类型

2024-06-27 09:31:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有4个HDF5文件,每个大约15GB大小。每种格式均为N_i x 2048 x 7 x 7。每种格式均为浮点64。我想将它们合并到一个float32类型的nx2048x7x7数据集中。我已经阅读了h5py文档,知道数据集的数据类型不能更改

所以我唯一的想法就是

  1. 将所有文件转换为numpy数组
  2. 合并数组
  3. 从float64转换为float32
  4. 创建新的数据集

这种方法的一个明显问题是,我只有32Gb的RAM,无法将这些阵列放入内存中。我如何绕过这些限制


Tags: 文件数据方法文档numpy类型格式数组
1条回答
网友
1楼 · 发布于 2024-06-27 09:31:12

首先,我同意,尝试将它们作为numpy加载,然后更改数据类型以获得一些内存

import numpy as np
import h5py

hf = h5py.File('file.h5', 'r')
n1 = np.array(hf["dataset_name"][:])

print(n1)

在第3步之后,如您所述,如果您的系统内存不足,则如果您想立即加载所有内容,则没有解决方案。您需要找到一台内存足够的机器来完成此任务

相关问题 更多 >