对整数numpy数组执行按位测试

时间:2014-08-19 16:08:52

标签: python arrays numpy binary

我有2-D变量(一个numpy蒙面数组,每个元素代表一个"像素"),其值(整数)必须作为二进制文件读取到" unpack"它包含的信息(第0位表示这一点,第1至第3位表示等等......)。

我最终想要进行测试(使用numpy"其中")来检查每个像素是否符合某些条件。

我可能需要将整数转换为二进制表示。

例如,位4到6是否具有值' 101':

np.where(my_array_of_binaries_as_strings[-7:-4] == '101', True, False)

是否有一种简单有效的方法可以将numpy十进制数组(整数或短数)转换为二进制表示数组(字符串,列表,整数,等等......)? python函数" bin"不适用于数组。

提前谢谢! ;)

1 个答案:

答案 0 :(得分:3)

我认为您根本不需要将它们转换为字符串。你可以这样做:

target      = 0b00010100
target_mask = 0b00011100

np.where(my_array_of_binaries & target_mask == target, True, False)