我有一个 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。
