如何在多维数组中找到k个最小数字的索引?

学习者27

我想形成一个数组,其中包含一个数组中k个最小值的索引:

import heapq
import numpy as np

a= np.array([[1, 3, 5, 2, 3],
       [7, 6, 5, 2, 4],
       [2, 0, 5, 6, 4]])

[t[0] for t in heapq.nsmallest(2,enumerate(a[1]),lambda(t):t[1])]
===[3, 4]

但这失败了:

[t[0] for t in heapq.nsmallest(2,enumerate(a.all()),lambda(t):t[1])]

Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    [t[0] for t in heapq.nsmallest(2,enumerate(a.all()),lambda(t):t[1])]
TypeError: 'numpy.bool_' object is not iterable
埃姆雷

您可以使用numpy.ndenumerate堆,也可以使用David建议的部分排序:

a = np.array([[1, 3, 5, 2, 3],
       [7, 6, 5, 2, 4],
       [2, 0, 5, 6, 4]])
heap = [(v, k) for k,v in numpy.ndenumerate(npa)]
heapq.heapify(heap)
heapq.nsmallest(10, heap) # for k = 10

你会得到:

[(0, (2, 1)),
 (1, (0, 0)),
 (2, (0, 3)),
 (2, (1, 3)),
 (2, (2, 0)),
 (3, (0, 1)),
 (3, (0, 4)),
 (4, (1, 4)),
 (4, (2, 4)),
 (5, (0, 2))]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在多维数组中找到k个最小数字的索引?

来自分类Dev

如何在C中找到数字中的最小数字及其在向量中的位置?

来自分类Dev

查找数组中k个最小数字的索引的算法

来自分类Dev

从无穷多个数字中找到最后k个元素中的最小数字

来自分类Dev

C在浮点数组中找到2个最大数字和2个最小数字

来自分类Dev

如何找到除一个特定索引之外的最小数字

来自分类Dev

如何在不排序的情况下找到数组中的最小数字?

来自分类Dev

第k个最小数字

来自分类Dev

随机数组中的最小数字及其索引

来自分类Dev

在第二列中找到与第一列中的索引值相对应的最小数字

来自分类Dev

如何在数组中找到最小的数字

来自分类Dev

如何在2个多维数组中找到公共值

来自分类Dev

如何在多维数组中找到一个键?

来自分类Dev

如何找到等于给定值的对应元素的最小数字总和?

来自分类Dev

获取文件中最小数字的索引

来自分类Dev

有效计算数组中 N 个最小数字的总和

来自分类Dev

Java:查找数组中大于零的最小数字

来自分类Dev

如何在for循环中找到最小数量?

来自分类Dev

Java:两个最小数字helo

来自分类Dev

如何在一维数组中找到多个最小值的索引?

来自分类Dev

考虑到数组未排序且 n 是数组的大小,如何在 nk 个比较中找到 k 个最小元素之一

来自分类Dev

如何计算ArrayList中的最小数字?

来自分类Dev

如何在php中找到多维数组重复项?

来自分类Dev

如何在多维数组中找到最长的字符串?

来自分类Dev

如何在多维数组中找到最大值

来自分类Dev

如何在多维数组中找到相同的值

来自分类Dev

如何在php中找到多维数组排列

来自分类Dev

如何在 Julia 中找到多维数组的每个元素的长度?

来自分类Dev

在Python中大小为N的未排序列表中获取k个最小数字的最快方法?

Related 相关文章

  1. 1

    如何在多维数组中找到k个最小数字的索引?

  2. 2

    如何在C中找到数字中的最小数字及其在向量中的位置?

  3. 3

    查找数组中k个最小数字的索引的算法

  4. 4

    从无穷多个数字中找到最后k个元素中的最小数字

  5. 5

    C在浮点数组中找到2个最大数字和2个最小数字

  6. 6

    如何找到除一个特定索引之外的最小数字

  7. 7

    如何在不排序的情况下找到数组中的最小数字?

  8. 8

    第k个最小数字

  9. 9

    随机数组中的最小数字及其索引

  10. 10

    在第二列中找到与第一列中的索引值相对应的最小数字

  11. 11

    如何在数组中找到最小的数字

  12. 12

    如何在2个多维数组中找到公共值

  13. 13

    如何在多维数组中找到一个键?

  14. 14

    如何找到等于给定值的对应元素的最小数字总和?

  15. 15

    获取文件中最小数字的索引

  16. 16

    有效计算数组中 N 个最小数字的总和

  17. 17

    Java:查找数组中大于零的最小数字

  18. 18

    如何在for循环中找到最小数量?

  19. 19

    Java:两个最小数字helo

  20. 20

    如何在一维数组中找到多个最小值的索引?

  21. 21

    考虑到数组未排序且 n 是数组的大小,如何在 nk 个比较中找到 k 个最小元素之一

  22. 22

    如何计算ArrayList中的最小数字?

  23. 23

    如何在php中找到多维数组重复项?

  24. 24

    如何在多维数组中找到最长的字符串?

  25. 25

    如何在多维数组中找到最大值

  26. 26

    如何在多维数组中找到相同的值

  27. 27

    如何在php中找到多维数组排列

  28. 28

    如何在 Julia 中找到多维数组的每个元素的长度?

  29. 29

    在Python中大小为N的未排序列表中获取k个最小数字的最快方法?

热门标签

归档