2014-05-12 4 views
10

У меня есть массив numpy X с dtype 'S' (numpy.bytes_). Например, печать print(X[0, 0]) дает b'somestring'. Аналогично str(X[0, 0]) возвращает строку "b'somestring'".numpy bytes to plain string

Однако мне нужно распечатать или преобразовать в строку, чтобы она не содержала b' в начале и ' в конце. Я просто хочу напечатать somestring или вернуть строку "somestring". Как это сделать?

Примечание: я не могу изменить тип массива.

ответ

13

Вам просто нужно декодировать строку обратно в ASCII, так что это будет просто:

bytes_string.decode('UTF-8') 

Демо:

>>> b'somestring'.decode('UTF-8') 
'somestring'