I have an array of bits.
Input: array([0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0])
And I need to transform it into an array of integer, reading 1 unsigned integer from 5 bits.
Output: array([1, 19, 14])
Because: (00001 -> 1, 10011 -> 19, 01110 -> 14)
Can I do it with numpy (or plain Python) ?
What if I need 6 bits to unsigned integer?
i = array([0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0])list(map(lambda x: sum([pow(2, len(x) - p -1) * v for p,v in enumerate(x)]), numpy.split(i, len(i)/5)))