numpy - h5py选择性读入

标签 numpy hdf5 h5py

我在使用 h5py 时遇到有关选择性读入例程的问题。

f = h5py.File('file.hdf5','r')
data = f['Data']

我在“数据”数据集中有几个正值,还有一些带有 -9999 的占位符。 我如何才能获得像 np.min 这样的计算的所有正值?

np.ma.masked_array 创建数组的完整副本,使用 h5py 的所有好处都丢失了......(关于内存使用)。问题是,如果我尝试使用 data = f['Data'][:,0]

读取每个数据集超过 1 亿个值的数据集,我会出错

或者,如果这不可能,那是否可能呢?

np.place(data[...], data[...] <= -9999, float('nan'))

提前致谢

最佳答案

你可以使用:

mask = f['Data'] >= 0
data = f['Data'][mask]

虽然我不确定掩码计算本身使用了多少内存。

关于numpy - h5py选择性读入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17662768/

相关文章:

python - H5py:以写入模式重新打开文件会删除以前的数据

python - 具有混合可变值和不可变值的 Numpy 数组

python - Numpy 列栈 (46020, 369) (46020,) (46020,) (46020,)

python - 如何从有序字典中选择最佳对?

使用 Armadillo 和 hdf5 库的简单代码的 C++ 构建错误

multithreading - HDF5 写线程并发

python - 使用多处理和 h5py

python - 插入缺失值 2d python

javascript - 如何在浏览器内的javascript中读取hdf5文件

python - python hdf5解析函数多线程时速度没有提升