h5py: преобразовать данные numpy в собственные типы Python

Я сохраняю некоторые данные в файл HDF5 через h5py. Это данные смешанного типа, некоторые из них являются собственными массивами numpy, многие являются скалярами или строками. Скаляры и строки автоматически «кодируются» в массивы numpy с помощью h5py (это очень приятно), но сейчас я хотел бы сделать обратное: при чтении этих данных преобразовать их в собственный тип python вместо того, чтобы видеть скаляры как фигуры 0d , строки как <HDF5 dataset "plots": shape (), type "|S207"> и т. д.

Есть ли простой способ добиться этого без необходимости вручную проверять массив dtype?

Это нормально, что для каждого преобразования будет создаваться дополнительный объект.


person eudoxos    schedule 02.09.2013    source источник


Ответы (2)


Не уверен, что это будет иметь смысл для вашего варианта использования, но вы можете подумать о хранении отдельных скаляров или строк в качестве атрибутов:

http://www.h5py.org/docs/intro/quick.html#attributes

person JoshAdel    schedule 02.09.2013
comment
Я новичок в hdf5, и это действительно упрощает мне задачу. - person eudoxos; 02.09.2013

Имеет ли вам смысл использовать h5pom? Это может быть излишним для вас, но оно должно делать то, что вы описываете, хотя вам, вероятно, придется работать со всей ORM больше, чем вы бы хотели (Предостережение: я поигрался с этим но никогда не использовал его в гневе).

person Mike Vella    schedule 02.09.2013