Вы можете использовать np.fromstring
и np.unpackbits
:
>>> a = np.unpackbits(np.fromstring(st, np.uint8)).reshape((8, -1), order='F')[::-1]
>>> a
array([[0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0],
[0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1],
[1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], dtype=uint8)
Не содержит символ b
.Если вам нужно это:
>>> np.r_['0,2,1', a.astype('U1')[:7], np.full(a.shape[1], 'b'), np.full(a.shape[1], '0')]
array([['0', '1', '0', '0', '1', '0', '1', '1', '0', '0', '0'],
['0', '0', '0', '0', '1', '0', '1', '1', '1', '0', '0'],
['0', '1', '1', '1', '1', '0', '1', '1', '0', '1', '1'],
['1', '0', '1', '1', '1', '0', '0', '1', '0', '1', '0'],
['0', '0', '0', '0', '0', '0', '1', '0', '1', '0', '0'],
['1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1'],
['1', '1', '1', '1', '1', '0', '1', '1', '1', '1', '1'],
['b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b', 'b'],
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0']],
dtype='<U1')