Ahorro con matrices h5py de diferentes tamaños
Estoy tratando de almacenar alrededor de 3000 matrices numpy usando el formato de datos HDF5. Las matrices varían en longitud de 5306 a 121999 np.float64
estoy obteniendoObject dtype dtype('O') has no native HDF5 equivalent
error ya que debido a la naturaleza irregular de los datos numpy usa la clase de objeto general.
Mi idea era rellenar todas las matrices a 121999 de longitud y almacenar los tamaños en otro conjunto de datos.
Sin embargo, esto parece bastante ineficiente en el espacio, ¿hay una mejor manera?
EDITAR: para aclarar, quiero almacenar 3126 matrices dedtype = np.float64
. Los tengo almacenados en unlist
y cuando h5py realiza la rutina, se convierte en una matriz dedtype = object
porque son de diferentes longitudes. Para ilustrarlo:
a = np.array([0.1,0.2,0.3],dtype=np.float64)
b = np.array([0.1,0.2,0.3,0.4,0.5],dtype=np.float64)
c = np.array([0.1,0.2],dtype=np.float64)
arrs = np.array([a,b,c]) # This is performed inside the h5py call
print(arrs.dtype)
>>> object
print(arrs[0].dtype)
>>> float64