>>> dset = f['dset']
>>> dset
<HDF5 dataset "dset": shape (4, 6), type "<i4">
- >>> dset.value
+ >>> dset[...]
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
>>> import h5py
>>> import numpy
- >>> f = h5py.File('hype.h5', 'w')
+ >>> f = h5py.File('slice.h5', 'w')
>>> f['IntArray'] = numpy.ones((8, 10))
>>> dset = f['IntArray']
- >>> dset.value
+ >>> dset[...]
array([[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
>>> f['IntArray'][:,5:] = 2
- >>> dset.value
+ >>> dset[...]
array([[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.]])
>>> dset[1:4,2:6] = 5
- >>> f['IntArray'].value
+ >>> f['IntArray'][...]
array([[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.],
[ 1., 1., 5., 5., 5., 5., 2., 2., 2., 2.],
[ 1., 1., 5., 5., 5., 5., 2., 2., 2., 2.],
[ 1., 1., 1., 1., 1., 2., 2., 2., 2., 2.]])
>>> f.close()
+Here's an example of altering a scalar value:
+
+ >>> import h5py
+ >>> import numpy
+ >>> f = h5py.File('scalar.h5', 'w')
+ >>> f['int'] = 1
+ >>> dset = f['int']
+ >>> f['int'][...]
+ 1
+ >>> f['int'][...] = 2
+ >>> f['int'][...]
+ 2
+ >>> f.pop('int')
+ >>> f.close()
+
+I haven't been able to track down official documentation for the
+`dataset[...]` syntax, but it is mentioned in [the 1.3 release
+announcement][message] that Andrew sent to the `scipy-user` list.
+
[slice]: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
+[message]: http://mail.scipy.org/pipermail/scipy-user/2010-February/024364.html
Datatypes
---------
>>> f['complex'] = 2 + 3j
>>> f['complex'].dtype
dtype('complex128')
- >>> type(f['complex'].value)
+ >>> type(f['complex'][...])
<type 'complex'>
>>> f['complex array'] = [1 + 2j, 3 + 4j]
>>> f['complex array'].dtype
dtype('complex128')
- >>> type(f['complex array'].value)
+ >>> type(f['complex array'][...])
<type 'numpy.ndarray'>
>>> f.close()
(2,)
>>> c[:] = [9, 8, 7]
>>> c.resize((6,))
- >>> c.value
+ >>> c[...]
array([1, 2, 3, 0, 0, 0])
>>> c.resize((6,2))
Traceback (most recent call last):