如何在 14x14 numpy 矩阵中找到 10 个最高数字的索引? [复制]
Posted
技术标签:
【中文标题】如何在 14x14 numpy 矩阵中找到 10 个最高数字的索引? [复制]【英文标题】:How to find the indexes of 10 highest numbers in a 14x14 numpy matrix? [duplicate] 【发布时间】:2016-06-26 01:35:29 【问题描述】:如何有效地找到 14x14 numpy 矩阵中 10 个最高数字的索引?我希望输出是索引的元组,其中最大数字按从最大到最小的顺序打印。我尝试使用 argsort ,但这只需要一个轴来排序。这不是重复的,因为它专门要求二维数组,而另一个问题的答案仅适用于一维数组。
例如:
[[0,1,2],
[3,4,5],
[6,7,8]]
(2,2,8)
(1,2,7)
(0,2,6)
【问题讨论】:
【参考方案1】:您可以展平数组,进行排序并输出前 10 个。然后还可以添加原始索引
new_list = []
for i, row in enumerate(matrix):
for j, col in enumerate(row):
new_list.append((col, (i,j)))
sorted_list = sorted(new_list, key=lambda x: x[0], reverse=True)
top_ten = sorted_list[:10]
for i in top_ten:
print "Value: 0, Index: 1".format(i[0], i[1])
【讨论】:
以上是关于如何在 14x14 numpy 矩阵中找到 10 个最高数字的索引? [复制]的主要内容,如果未能解决你的问题,请参考以下文章