【问题标题】:Find index of a vector inside a matrix in Python在Python中查找矩阵内向量的索引
【发布时间】:2020-06-23 10:24:05
【问题描述】:

给定一个矩阵(numpy 数组)A 和一个向量 v

A = np.array([[5,0],[1,-2],[0,2],[-1,3],[1,2]])
v = np.array([0,2])

在矩阵 A 中获取向量 v 的索引的最佳方法是什么(在这种情况下应该得到 2)。

【问题讨论】:

  • 如果值是唯一的(不同的),A[A == v][2] 怎么样?

标签: python numpy search where-clause


【解决方案1】:

这样做:

np.argwhere((v == A).all(1))
Out[82]: array([[2]], dtype=int64)

【讨论】:

    【解决方案2】:

    如果 best 你的意思是 fastest,经过彻底的实验,用户 hpaulj pointed out 认为 np.flatnonzero 是比 np.argwhere 更快的替代品。你可以这样使用它:

    np.flatnonzero((v==A).all(1))[0]
    

    输出:

    2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-27
      • 2013-04-20
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多