Ho un codice Python il cui output è una matrice dimensionata, le cui voci sono tutte del tipo float
. Se lo salvo con l'estensione, .dat
la dimensione del file è dell'ordine di 500 MB. Ho letto che l'utilizzo h5py
riduce notevolmente le dimensioni del file. Quindi, diciamo che ho chiamato l'array numpy 2D A
. Come lo salvo in un file h5py? Inoltre, come faccio a leggere lo stesso file e a inserirlo come array numpy in un codice diverso, poiché devo eseguire manipolazioni con l'array?
np.savetxt("output.dat",A,'%10.8e')
np.save('output.dat', A)
che lo salverà in un formato binario (molto più veloce, molto meno spazio utilizzato).
A = np.loadtxt('output.dat',unpack=True)
h5py
non crea file più piccoli di quelli che np.save
farebbero? è h5py
più veloce che np.save
per gli array delle dimensioni indicate nella domanda?
.dat
estensione?