find function matlab in numpy/scipy(在 numpy/scipy 中查找函数 matlab)
问题描述
对于 numpy/scipy,matlab 中是否有 find(A>9,1) 的等效函数.我知道 numpy 中有 nonzero 函数,但我需要的是第一个索引,以便我可以在另一个提取的列中使用第一个索引.
Is there an equivalent function of find(A>9,1) from matlab for numpy/scipy. I know that there is the nonzero function in numpy but what I need is the first index so that I can use the first index in another extracted column.
例如:A = [ 1 2 3 9 6 4 3 10 ]find(A>9,1) 将在 matlab 中返回索引 4
Ex: A = [ 1 2 3 9 6 4 3 10 ]
find(A>9,1) would return index 4 in matlab
推荐答案
numpy中find的等价物是nonzero,但是不支持第二个参数.但是你可以做这样的事情来获得你正在寻找的行为.
The equivalent of find in numpy is nonzero, but it does not support a second parameter.
But you can do something like this to get the behavior you are looking for.
B = nonzero(A >= 9)[0]
但是,如果您正在寻找的只是找到满足条件的第一个元素,那么您最好使用 max.
But if all you are looking for is finding the first element that satisfies a condition, you are better off using max.
例如,在 matlab 中,find(A >= 9, 1) 将等同于 [~, idx] = max(A >= 9)代码>.numpy 中的等效函数如下.
For example, in matlab, find(A >= 9, 1) would be the same as [~, idx] = max(A >= 9). The equivalent function in numpy would be the following.
idx = (A >= 9).argmax()
这篇关于在 numpy/scipy 中查找函数 matlab的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 numpy/scipy 中查找函数 matlab
基础教程推荐
- 尝试制作WhatsApp机器人 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
