Numpy 在小范围数组内查找最大值的索引

汉斯·沃斯特

我有一个二维数组的形式

 data = array([
       [  0.23        ,   0.61070541],
       [  1.12        ,   0.94622007],
       [  2.33        ,   0.20868555],
       [  3.23        ,   0.26452314],
       [  4.67        ,   0.93988767],
       [  5.17        ,   0.05736691],
       [  6.74        ,   0.54063927],
       [  7.58        ,   0.3045981 ],
       [  8.48        ,   0.13873822],
       [  9.47        ,   0.27759926],
       [ 10.12        ,   0.27030156]])

我想在第二列中找到最大值,限制在第一列给出的间隔内。我想查看第 5 行到第 8 行并找到第二列中最大值的最大行索引。在第 6 行的给定数据集中,data[6] = 6. , 0.54063927。我的目标是使用 numpy 获得索引 6。到目前为止我会做

data_interval = data[ np.where( (data[:,0] > 5) & data[:,0] < 9 ) ]
max_interval = data_interval.max(axis = 0)[1]
index = np.where(data == [None, max_interval])[0]

如果最大值没有再次出现在间隔之外的数据中,这将起作用。否则我会在最后一个 np.where 调用多个索引。总的来说,这感觉很笨拙,我想知道是否有一种更快的方法来只产生间隔中的索引。我想要相对于总数据数组的绝对索引,而不是 data_interval 数组的索引。通常,我发现很难在 numpy 中对成对出现的数据集(如 (x,y) 仅基于 x 或 y)进行排序/搜索数据,一旦数据在数组中。欢迎提供处理此类问题的提示/建议。

威廉·范·翁塞姆

我们可以先做到这一点掩盖了其中的状况确实值成立,再使用argmax,计算其中第二列是最大的指数。

所以我们屏蔽:

data_masked = np.ma.masked_where((data[:,0] < 5) | (data[:,0] > 9), data[:,1])

所以这里的条件与过滤条件相反:所有行data[:0] < 5data[:0] > 9都被屏蔽了。请注意,我们已经对第二列进行了投影。那么中间结果是:

>>> np.ma.masked_where((data[:,0] < 5) | (data[:,0] > 9), data[:,1])
masked_array(data=[--, --, --, --, --, 0.05736691, 0.54063927, 0.3045981,
                   0.13873822, --, --],
             mask=[ True,  True,  True,  True,  True, False, False, False,
                   False,  True,  True],
       fill_value=1e+20)

然后我们计算指数:

index = np.argmax(b)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用NumPy在数组中查找最大值的索引

来自分类Dev

查找与numpy数组的最大值对应的索引

来自分类Dev

特定范围内Python中NumPy数组的最小值和最大值

来自分类Dev

如何找到给定索引之间的numpy数组的最大值?

来自分类Dev

如何找到给定索引之间的numpy数组的最大值?

来自分类Dev

在numpy数组中查找局部最大值

来自分类Dev

Numpy条件范围的最大值

来自分类Dev

索引numpy矩阵的最大值

来自分类Dev

numpy向量化数组的最大值

来自分类Dev

在numpy数组中传播最大值

来自分类Dev

numpy向量化数组的最大值

来自分类Dev

Python Numpy确定包含总最大值/最小值的数组索引

来自分类Dev

数组中数字最大的numpy查找索引

来自分类Dev

如何使用numpy在可变长度数组中查找最小值/最大值?

来自分类Dev

如何在numpy数组中逐轴查找最小值/最大值

来自分类Dev

找到最大值及其索引以移动numpy ndarray的子数组的Python方法是什么?

来自分类Dev

使用随机抢七获得numpy数组中N个最大值的索引

来自分类Dev

如何沿numpy数组的给定轴索引每次出现的最大值?

来自分类Dev

使用随机抢七获得numpy数组中N个最大值的索引

来自分类Dev

如何使用if语句向量化在numpy数组中查找最大值?

来自分类Dev

Python:在numpy数组中查找最大值和不连续点

来自分类Dev

在numpy中找到最大值的索引,排除零值

来自分类Dev

在numpy中找到最大值的索引,排除零值

来自分类Dev

以numpy生成缩小范围的一维数组

来自分类Dev

如何在numpy数组列中找到最大值?

来自分类Dev

如何在numpy数组列中找到最大值?

来自分类Dev

python中的numpy数组中的列的最大值

来自分类Dev

numpy数组中指定列的最大值

来自分类Dev

如何在numpy数组中找到对应的最大值

Related 相关文章

  1. 1

    使用NumPy在数组中查找最大值的索引

  2. 2

    查找与numpy数组的最大值对应的索引

  3. 3

    特定范围内Python中NumPy数组的最小值和最大值

  4. 4

    如何找到给定索引之间的numpy数组的最大值?

  5. 5

    如何找到给定索引之间的numpy数组的最大值?

  6. 6

    在numpy数组中查找局部最大值

  7. 7

    Numpy条件范围的最大值

  8. 8

    索引numpy矩阵的最大值

  9. 9

    numpy向量化数组的最大值

  10. 10

    在numpy数组中传播最大值

  11. 11

    numpy向量化数组的最大值

  12. 12

    Python Numpy确定包含总最大值/最小值的数组索引

  13. 13

    数组中数字最大的numpy查找索引

  14. 14

    如何使用numpy在可变长度数组中查找最小值/最大值?

  15. 15

    如何在numpy数组中逐轴查找最小值/最大值

  16. 16

    找到最大值及其索引以移动numpy ndarray的子数组的Python方法是什么?

  17. 17

    使用随机抢七获得numpy数组中N个最大值的索引

  18. 18

    如何沿numpy数组的给定轴索引每次出现的最大值?

  19. 19

    使用随机抢七获得numpy数组中N个最大值的索引

  20. 20

    如何使用if语句向量化在numpy数组中查找最大值?

  21. 21

    Python:在numpy数组中查找最大值和不连续点

  22. 22

    在numpy中找到最大值的索引,排除零值

  23. 23

    在numpy中找到最大值的索引,排除零值

  24. 24

    以numpy生成缩小范围的一维数组

  25. 25

    如何在numpy数组列中找到最大值?

  26. 26

    如何在numpy数组列中找到最大值?

  27. 27

    python中的numpy数组中的列的最大值

  28. 28

    numpy数组中指定列的最大值

  29. 29

    如何在numpy数组中找到对应的最大值

热门标签

归档