Python 查找数组中与某些条件匹配的第一个元素的索引
我想要一个很好的方法来找到np.array的第一个元素的索引,它符合一些条件。 条件是:Python 查找数组中与某些条件匹配的第一个元素的索引,python,numpy,Python,Numpy,我想要一个很好的方法来找到np.array的第一个元素的索引,它符合一些条件。 条件是: array>constant 这是我的解决方案: first_index = ((array<constant)*np.arange(len(array))).argmax()+1 first_index=((arrayArgmax)在查看文档时按顺序进行:因此它将找到第一个真值 所以你可以用 np.argmax(array<val) np.argmax(arrayWell)该解决
array>constant
这是我的解决方案:
first_index = ((array<constant)*np.arange(len(array))).argmax()+1
first_index=((arrayArgmax)在查看文档时按顺序进行:因此它将找到第一个真值
所以你可以用
np.argmax(array<val)
np.argmax(arrayWell)该解决方案是一行。为什么是+1?也许吧?但它并不漂亮,我想知道是否有一种更漂亮的方法np.argwhere(array>constant)[0]工作得很好,谢谢!代码中的解决方案是否真的有效,它似乎返回了最后一个索引。它返回了相反条件的最后一个索引(+1),我忘了提到那一点,谢谢,出于我的目的,我需要np.argmin(),但原理是有效的。(我在寻找与表达式中的条件相反的条件).@ShayLempertargmax
只需找到满足条件且为True
的第一个元素。如果您希望它反过来,请切换不等式的方向,而不是使用argmin
。