function - 在 numpy/scipy 中查找函数 matlab

标签 function matlab numpy find scipy

对于 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/

相关文章:

python - 保留基于另一个数组的数组中的唯一值,同时保留顺序

python - ndarray.item(arg) 和 ndarry[arg] 有什么区别?

function - F# 集合中的随机元素 <string>

c - 我想输出 1 3 4 5 7 9 但我几乎卡在这里

java - 从枚举调用函数

bash - 我可以在用户按下 Control-C 后强制 MATLAB 退出吗?

PHP ucwords 函数问题

matlab - 如何根据已知的内在和外在参数在 Matlab 中进行透视校正?

performance - 寻找执行计算的有效方法 - Matlab

python - 是否可以在不使用for循环的情况下将矩阵A中的所有列与矩阵B中的每一列相乘?