我在使用h5py时遇到选择性读入程序的问题。
f = h5py.File('file.hdf5','r')
data = f['Data']
我在'Data'数据集中有几个正值,也有一些-9999的占位符。
我如何才能获得np.min
等计算的所有正值?
np.ma.masked_array创建了数组的完整副本,使用h5py的所有好处都丢失了......(关于内存使用情况)。问题是,如果我尝试使用data = f['Data'][:,0]
或者,如果不可能这样可能吗?
np.place(data[...], data[...] <= -9999, float('nan'))
提前致谢
答案 0 :(得分:1)
您可以使用:
mask = f['Data'] >= 0
data = f['Data'][mask]
虽然我不确定掩码计算本身使用了多少内存。