对于 numpy/scipy,matlab 中是否有 find(A>9,1)
的等效函数。我知道 numpy 中有 nonzero
函数,但我需要的是第一个索引,这样我就可以在另一个提取的列中使用第一个索引。
例如:A = [ 1 2 3 9 6 4 3 10 ]
find(A>9,1)
将在 matlab 中返回索引 4
最佳答案
numpy 中 find
的等价物是 nonzero
,但它不支持第二个参数。
但是您可以执行类似的操作以获得您正在寻找的行为。
B = nonzero(A >= 9)[0]
但是如果您要查找的只是找到第一个满足条件的元素,那么最好使用 max
。
例如,在 matlab 中,find(A >= 9, 1)
与 [~, idx] = max(A >= 9)
相同. numpy 中的等效函数如下。
idx = (A >= 9).argmax()
关于function - 在 numpy/scipy 中查找函数 matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14388786/