我在使用 h5py 时遇到有关选择性读入例程的问题。
f = h5py.File('file.hdf5','r')
data = f['Data']
我在“数据”数据集中有几个正值,还有一些带有 -9999 的占位符。
我如何才能获得像 np.min
这样的计算的所有正值?
np.ma.masked_array 创建数组的完整副本,使用 h5py 的所有好处都丢失了......(关于内存使用)。问题是,如果我尝试使用 data = f['Data'][:,0]
或者,如果这不可能,那是否可能呢?
np.place(data[...], data[...] <= -9999, float('nan'))
提前致谢
最佳答案
你可以使用:
mask = f['Data'] >= 0
data = f['Data'][mask]
虽然我不确定掩码计算本身使用了多少内存。
关于numpy - h5py选择性读入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17662768/