我有一种数据类型,输出为〜2800万个整数,范围从0到4095(从技术上讲,它来自硬件,是带符号的16位整数,范围从0到(1/2)* 2 ^ 16 ,但是这种表示方式是不必要的精确)。因此,原则上每个数据点的值都可以用12位表示(如果可以的话,一个字节和一个半字节)。从长远来看,我正在处理我打算以二进制形式存储的大量数据(两位数的兆字节),因此显然可以将其无损压缩到其大小的75%。
很明显,我可以编写一个函数,将我的数据编码为布尔值,然后使用Numpy的二进制处理函数进行解析。但是,我必须权衡这与存储和检索的简便性/速度之间的平衡。因此,我想知道是否有任何现有的程序包,算法等以简单有效的方式完成此任务。如果需要,我可以使用Fortran或C,因此可以选择在其中创建模块,但是如果我不需要,我的同事会更愿意。