如何将矩阵转换为字符?
classes = ['A', 'B', 'C']
my_data = [
[2, 1, 3],
[1, 1, 2],
[3, 3, 3],
[3, 1, 3],
[3, 1, 3],
[3, 3, 2]
]
这里,A=1,B=2,C=3。
假设,我想首先找到矩阵 my_data
每一行中的最大值,然后我想将它们转换为 classes
中的字符。
我可以在 python 中不使用循环来完成它吗?
以下源代码对我不起作用:
def prediction_to_name(pred):
return classes[np.argmax(pred)]
classes = ['A', 'B', 'C']
my_data = [
[2, 1, 3],
[1, 1, 2],
[3, 3, 3],
[3, 1, 3],
[3, 1, 3],
[3, 3, 2]
]
Here, A = 1, B=2, and C=3.
Suppose, I want to first find the maximum value in each row of the matrix my_data
, and then I want to convert them into characters from classes
.
Can I do it in python without using loops?
The following source code is not working for me:
def prediction_to_name(pred):
return classes[np.argmax(pred)]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要迭代数据,除非对 0:len(my_data)< 中的每个
n 重复剪切和粘贴
result.append(classes[np.argmax(my_data[n])])
/code> 这只是手动输入循环。You need to iterate over your data unless repeatedly cut and paste
result.append(classes[np.argmax(my_data[n])])
for eachn in 0:len(my_data)
which is just manually typing out the loop.您的数据索引是从一开始的,而 python 是从零开始的,因此只需减一即可使它们相等。
Your indexing of the data is one-based whereas python is zero-based, so just subtract one so that they are equivalent.
这个怎么样?
结果:
How about this?
The result: