相关疑难解决方法(0)

将二进制字符串转换为numpy数组

假设我有字符串:

my_data = '\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'
Run Code Online (Sandbox Code Playgroud)

我得到它是无关紧要的,但为了具体的东西,假设我从二进制文件中读取它.

我知道我的字符串是4(4字节)浮点数的二进制表示.我想把这些花车作为一个numpy阵列.我做到:

import struct
import numpy as np
tple = struct.unpack( '4f', my_data )
my_array = np.array( tple, dtype=np.float32 )
Run Code Online (Sandbox Code Playgroud)

但是创建一个中间元组似乎很愚蠢.有没有办法在不创建中间元组的情况下执行此操作?

编辑

我还希望能够以这样的方式构造数组,以便我可以指定字符串的字节顺序.

python numpy binary-data

26
推荐指数
1
解决办法
3万
查看次数

标签 统计

binary-data ×1

numpy ×1

python ×1