python - 查找 numpy 对值(不带零)并获取 key

标签 python numpy

假设我有一个像这样的 numpy

a = np.array([[0, 0, 0, 1373, 1371, 1365, 1371, 1375],
         [0, 0, 0, 1388, 1371, 1365, 1301, 1302]])

我必须找到所有值对(比较 idx 0 == 1)。 例如:

pairs = (a[0] == a[1])
# [ True  True  True False  True True False False]

但现在,我希望获得 idx 结果而不比较零值。 例如:

[4, 5]

这是一个例子,在我的例子中,我有大约 100k 数据点。我想找到一种有效的方法。

最佳答案

In [14]: result = [r[0] for r in np.argwhere(a[0,:] == a[1,:]) if a[0, r] != 0]

In [15]: result
Out[15]: [4, 5]

关于python - 查找 numpy 对值(不带零)并获取 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40808469/

相关文章:

python - 查找两个二维数组之间的匹配值对(交集)?

python - 逻辑如何与变量赋值相结合

python - 可利用的 Python 函数

python - NumPy 列表理解语法

python - python中无替换的加权随机样本

python - 类型错误 : unsupported operand type(s) for -: 'numpy.ndarray' and 'numpy.ndarray'

python - Pandas 按销售项目分组并统计列中每月的销售额

python - 如何从python列表中获取零和非零值的索引范围?

python - 通过 Q 限制选择范围

python - 在 Python 中用许多点找到两个最远的点