Skip to main content
 首页 » 编程设计

python之将 Byte 类型转换为 float

2025年05月04日14java哥

我有一个 numpy 数组:

import numpy as np 
Boolval = np.array([b'false',b'true',b'false',b'false',b'false',b'false',b'false',b'false']) 

我正在尝试将每个值转换为值为 0 或 1 的整个数组(例如 [0, 1, 0, 0, 0, 0, 0])。

我尝试了以下方法:

import struct 
print(struct.unpack('f',Boolval)) 

它抛出一个错误:struct.error: unpack requires a buffer of 4 bytes

我试过只有一个值,

print(struct.unpack("f", Boolval[1])) 

它给出了 (7.24431922380234e+22,) 的值。不是 1 或 0。

请您参考如下方法:

它们不是字节值,它们是二进制字符串。尝试类似的东西

>>> [int(b == b'true') for b in Boolval] 
[0, 1, 0, 0, 0, 0, 0, 0, 0] 

这将检查项目是否等于 b'true' 并将真值(True 或 False)转换为 int。