【问题标题】:Get coordinates in a 2D array? [duplicate]获取二维数组中的坐标? [复制]
【发布时间】:2021-08-19 01:15:17
【问题描述】:

我有这个 [116, 116] 数组,我想获取该数组中存在的 10 个最大值的坐标/索引。

我怎样才能做到这一点?

谢谢!

【问题讨论】:

    标签: arrays numpy max indices


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      让我们创建一个测试数组arr为:

      array([[  1,   2, 141,   4,   5,   6],
             [  7, 143,   9,  10,  11,  12],
             [ 13,  14,  15, 145,  17,  18],
             [ 19,  20,  21,  22,  23,  24],
             [ 25,  26,  27,  28,  29,  30]])
      

      查找例如的坐标3 个最大值,运行:

      ind = np.divmod(np.flip(np.argsort(arr, axis=None)[-3:]), arr.shape[1])
      

      结果是一个带有 rowcolumn 坐标的 2 元组:

      (array([2, 1, 0], dtype=int64), array([3, 1, 2], dtype=int64))
      

      要对其进行测试,您可以打印指定的元素:

      arr[ind]
      

      得到:

      array([145, 143, 141])
      

      现在将-3替换为-10,你将得到10的坐标 最大元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-23
        • 2019-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-26
        • 2016-02-06
        • 1970-01-01
        相关资源
        最近更新 更多