当保存到磁盘时,我尝试了多种方法来进行数据压缩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