我有一个二进制数组,我想将其转换为整数列表,其中每个int是该数组的一行。
例如:
from numpy import * a = array([[1, 1, 0, 0], [0, 1, 0, 0], [0, 1, 1, 1], [1, 1, 1, 1]])
我想转换a成[12, 4, 7, 15]。
a
[12, 4, 7, 15]
我曾经在这里问过类似的问题。这是我的回答,适合您的问题:
def bool2int(x): y = 0 for i,j in enumerate(x): y += j<<i return y In [20]: a Out[20]: array([[1, 1, 0, 0], [0, 1, 0, 0], [0, 1, 1, 1], [1, 1, 1, 1]]) In [21]: [bool2int(x[::-1]) for x in a] Out[21]: [12, 4, 7, 15]