【发布时间】:2017-04-25 11:41:55
【问题描述】:
是否有将二进制 (0|1) numpy 数组转换为整数或二进制字符串的快捷方式? F.e.
b = np.array([0,0,0,0,0,1,0,1])
=> b is 5
np.packbits(b)
有效,但仅适用于 8 位值..如果 numpy 是 9 个或更多元素,它会生成 2 个或更多 8 位值。 另一种选择是返回一个字符串 0|1 ...
我现在做的是:
ba = bitarray()
ba.pack(b.astype(np.bool).tostring())
#convert from bitarray 0|1 to integer
result = int( ba.to01(), 2 )
太丑了!!!
【问题讨论】:
标签: python numpy binary bitstring