我创建了以下内容:
a=np.eye(2, dtype='S17')
但是当我打印出来时,我得到了:
print(a)
[[b'1' b'']
[b'' b'1']]
为什么会发生这种情况以及如何在没有b的情况下获取字符串?或者我应该改变引入数据的方式还是dtype
?
所需的输出是:
[['1' '']
['' '1']]
这样我就可以替换其他人
了答案 0 :(得分:2)
您可以使用numpy.char.decode
解码字节文字:
In [1]: import numpy as np
In [2]: a = np.eye(2, dtype='S17')
In [3]: a
Out[3]:
array([[b'1', b''],
[b'', b'1']],
dtype='|S17')
In [4]: np.char.decode(a, 'ascii')
Out[4]:
array([['1', ''],
['', '1']],
dtype='<U1')