當保存到磁盤時,我嘗試了多種方法來進行數據壓縮numpy arrays
。有效壓縮numpy陣列
這些一維數組含有在一定的採樣率(可記錄的聲音用麥克風,或任何其它measurment與任何傳感器)採樣數據:所述數據是基本上連續(在數學意義上;當然採樣後它現在是離散數據)。
我試着用HDF5
(h5py):
f.create_dataset("myarray1", myarray, compression="gzip", compression_opts=9)
但這是相當緩慢的,而壓縮比不是我們能期待的最好。
我也試圖與
numpy.savez_compressed()
但再次它可能不是這樣的數據(之前描述的)的最佳壓縮算法。
對於numpy array
有更好的壓縮比,你會選擇什麼樣的數據?
(我想這樣的事情無損FLAC(最初設計用於音頻),但有適用於numpy的數據,算法簡單的方法?)
從在源,'savez_compressed掠()'似乎使用DEFLATE(即'gzip')爲好。請注意,壓縮的有效性很大程度上取決於數據。有些數據不是很可壓縮的... – delnan
@delnan:我的數據是音頻或類似的數據...音頻的無損壓縮可以達到近2:1的比率,這就是爲什麼我期望類似這樣的包含音頻數據的numpy數組。 – Basj
那麼,它也取決於壓縮算法。有一個原因存在音頻壓縮專用算法,它們可能比DEFLATE更好地爲您服務。我不知道如何運行FLAC等。儘管如此,我還是在寫一個答案。 – delnan