首页 > 解决方案 > 在 np.array 中以数字方式附加二进制数

问题描述

考虑以下示例数组:

a = np.array([0,1,1,0,1,1,1,0,1,0])

可以是任何dtype(int,float ...)

如果不使用讨厌的循环和字符串强制转换,我将如何获得以下输出?

np.array([0b01,0b10,0b11,0b10,0b10])

标签: pythonnumpy

解决方案


a = a.astype(int)
output = a[0::2] * 2 + a[1::2]

给出您描述的数组(尽管它不会以二进制形式打印)。


推荐阅读