在numpy/scipy中找到函数matlab

use*_*634 7 matlab numpy function find scipy

是否存在find(A>9,1)来自matlab的numpy/scipy 的等效函数.我知道nonzeronumpy 中有函数,但我需要的是第一个索引,以便我可以在另一个提取列中使用第一个索引.

例如:A = [ 1 2 3 9 6 4 3 10 ] find(A>9,1)4在matlab中返回索引

Pav*_*ili 5

相当于findnumpy是nonzero,但它不支持第二个参数.但你可以做这样的事情来获得你正在寻找的行为.

B = nonzero(A >= 9)[0] 
Run Code Online (Sandbox Code Playgroud)

但是,如果您正在寻找的是找到满足条件的第一个元素,那么最好使用它max.

例如,在matlab中,find(A >= 9, 1)将是相同的[idx, B] = max(A >= 9).numpy中的等效函数如下.

idx = (A >= 9).argmax()
Run Code Online (Sandbox Code Playgroud)