在Python中处理14位数据
我当前的工作流程涉及处理8位分辨率数据,以16位格式和64位格式编写。例如:在Python中处理14位数据,python,numpy,bit,Python,Numpy,Bit,我当前的工作流程涉及处理8位分辨率数据,以16位格式和64位格式编写。例如: b = np.fromfile(file, dtype='uint8') data1 = b[:2].view(np.int16) data2 = b[2:10].view(np.int64) # alternative: struct.unpack 我刚刚收到14位分辨率的数据-既然没有14位类型可用,那么加载此数据的合适类似方法是什么 编辑: 在评论中回答-谢谢你,honza_p 读16位,移位2位。如果注释
b = np.fromfile(file, dtype='uint8')
data1 = b[:2].view(np.int16)
data2 = b[2:10].view(np.int64)
# alternative: struct.unpack
我刚刚收到14位分辨率的数据-既然没有14位类型可用,那么加载此数据的合适类似方法是什么
编辑: 在评论中回答-谢谢你,honza_p
读16位,移位2位。如果注释消失,添加作为答案 将其读取为16位,并移位2位
存储的数据是否真的使用每项14位进行打包?无论14位分辨率如何,我都希望它们以16位格式存储。至少在我们有14位数据的时候是这样的。我不知道它们是如何被保存的。那么您将它们加载为16位,并将它们处理为16位,还是丢弃/移位2位?这两个额外的位通常是下一个数据点的一部分,或者只是垃圾?我假设它们是0。尝试将数据加载为16位,您将看到您得到的是否有意义(可能是4s的倍数或0..16383范围内的值)。感谢您的帮助!我想你们两个中的一个应该加上这个作为回答@本扎乌p