You have to download the dataset to perform tests like this on it.
Using a test file I have hanging around:
In [318]: f = h5py.File('data.h5')
In [319]: list(f.keys())
Out[319]: ['dset', 'dset1', 'vset']
In [320]: f['dset']
Out[320]: <HDF5 dataset "dset": shape (3, 5), type "<f8">
I can index and test a single item, or slice of the dataset
In [321]: f['dset'][1]
Out[321]: array([ 1., 1., 1., 1., 1.])
In [322]: f['dset'].shape
Out[322]: (3, 5)
In [323]: f['dset'][...]
Out[323]:
array([[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1.]])
But a boolean test on the dataset does not work:
In [324]: f['dset']>0
...
TypeError: unorderable types: Dataset() > int()
==1 works, but compares the dataset objects with 1, and inevitably returns False. That's why where gives you an empty result:
In [325]: f['dset']==1
Out[325]: False
To do the element by element test I have to 'index' the dataset:
In [326]: f['dset'][...]>0
Out[326]:
array([[ True, True, True, True, True],
[ True, True, True, True, True],
[ True, True, True, True, True]], dtype=bool)