Python 如何优化';枚举';当我必须搜索长熊猫系列(>;15m元素)时?

Python 如何优化';枚举';当我必须搜索长熊猫系列(>;15m元素)时?,python,python-3.x,pandas,series,Python,Python 3.x,Pandas,Series,我有一个包含时间信息(代表秒的浮动)的pandas系列,例如,我需要识别时间大于x的索引。我目前正在使用enumerate来完成它,但我不确定它是否是最好的方法,因为它需要一点时间来执行。我想知道是否有矢量化的方法来执行这个操作 index=[i代表i,枚举中的val(df['time']),如果val>=x][0] 示例系列: time 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 df[df['time']>=x]。索引 或 np.非零(df['

我有一个包含时间信息(代表秒的浮动)的pandas系列,例如,我需要识别时间大于x的索引。我目前正在使用enumerate来完成它,但我不确定它是否是最好的方法,因为它需要一点时间来执行。我想知道是否有矢量化的方法来执行这个操作

index=[i代表i,枚举中的val(df['time']),如果val>=x][0]
示例系列:

time

0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
df[df['time']>=x]。索引

np.非零(df['time'].值>=x)[0]

编辑:
如果只需要第一次出现:

np.argmax(df['time'].values>=x)

仅获取时间大于
x
第一个索引:


是的,有一种矢量化的方法。到目前为止,您是否尝试过类似的方法?回答:1)我需要确定索引-您指的是索引列表?2) 这需要一点时间-多少钱?什么时间可以接受?不,这是我迄今为止尝试的第二种方法。第一个是循环遍历它,直到我达到值x。@RomanPerekhrest No,这只是它出现的第一个元素(我已经编辑了代码)。这需要2秒钟(如果我必须做500次这样的手术,这是不可接受的)谢谢,两种方法都很有效。使用np.argmax的解决方案比第一个提出的解决方案快约3倍。
next(t[0] for t in df.itertuples() if t.time > x)