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 unlisty 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

Respuestas a la pregunta(2)

Su respuesta a la pregunta