我创建了以下内容:
a=np.eye(2, dtype='S17')
但是当我打印它时,我得到:
print(a)
[[b'1' b'']
[b'' b'1']]
为什么会发生这种情况以及我可以做什么来获取没有 b 的字符串?或者我应该改变引入数据或dtype
的方式?
期望的输出是:
[['1' '']
['' '1']]
这样我就可以用其他字符串替换这个字符串
最佳答案
您可以使用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')
关于python - 在 numpy 矩阵中存储字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21339992/