Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解析通过fromfile从二进制文件读取的numpy列表_Python_Arrays_List_Numpy_Binary - Fatal编程技术网

Python 解析通过fromfile从二进制文件读取的numpy列表

Python 解析通过fromfile从二进制文件读取的numpy列表,python,arrays,list,numpy,binary,Python,Arrays,List,Numpy,Binary,我有一个1D的整数数组,它是从二进制via读入的 data = np.fromfile(file.dat, 'u1') 数据返回的位置 array([242, 255, 101, 0, 124, 0, 86, 0, 33, 0, 112, 0, 32, 1, 74, 1, 195, 0, 16, 0], dtype=uint8) 序列中的0表示用于超过或低于标准256的值的额外位。例如,索引0处的244应为-14,并由255(或256)-242表示。相反地,索引13处的值(读

我有一个1D的整数数组,它是从二进制via读入的

data = np.fromfile(file.dat, 'u1')
数据返回的位置

array([242, 255, 101, 0, 124, 0, 86, 0, 33, 0, 
       112, 0, 32, 1, 74, 1, 195, 0, 16, 0], dtype=uint8)
序列中的
0
表示用于超过或低于标准256的值的额外位。例如,索引0处的
244
应为-14,并由255(或256)-242表示。相反地,索引13处的值(读数为32)为256+32或288。我试图让上面的数组看起来像--

我想我想要的是使用索引和值来计算前面的值,如果找到值1或255

我从下面开始,但在一天结束时失去了线索

for i, a in enumerate(data):
    if a == 255:
       neg = i,a

如果有人能推荐一种更好的方法来处理二进制值,我也愿意学习。谢谢你的帮助

你可以查看播放到
在一天结束时失去线索是什么意思。
是什么意思?哈,这是疲劳的委婉说法
for i, a in enumerate(data):
    if a == 255:
       neg = i,a
x = np.array([242, 255, 101, 0, 124, 0, 86, 0, 33, 0, 
       112, 0, 32, 1, 74, 1, 195, 0, 16, 0], dtype=np.uint8)

x.view('<i2')
# array([-14, 101, 124,  86,  33, 112, 288, 330, 195,  16], dtype=int16)