python - 在 numpy 矩阵中存储字符串

标签 python python-3.x numpy

我创建了以下内容:

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/

相关文章:

python - 在 Python 中读取图例的高度

python - 如何在不规则多边形内找到一个点

python - 使用opencv对类似于物理顺序的轮廓进行排序

python - python 检查一个数组是否是另一个数组的元素

python - python图形工具中的显式顶点位置

python-3.x - 找到在不和谐时使用react时保存图像的功能

python - 抓取站点时动态 JS 生成代码

python 3 : How to move an item from list x to list y and remove it from list x?

python - 确定 (M,N) 数组和 (M,) 数组的行数具有相同的功能

python - 为什么有些 numpy 调用没有作为方法实现?