h5py选择性读入

时间:2013-07-15 19:57:13

标签: numpy hdf5 h5py

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

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

我在'Data'数据集中有几个正值,也有一些-9999的占位符。 我如何才能获得np.min等计算的所有正值?

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

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

或者,如果不可能这样可能吗?

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

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用:

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

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