当我必须在长 pandas 系列(> 15 M 元素)中搜索时,如何优化 'enumerate'?

How can I optimize 'enumerate' when I have to search in a long pandas Series (> 15 M elements)?

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

index = [i for i, val in enumerate(df['time']) if 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].index

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


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

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

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

next(t[0] for t in df.itertuples() if t.time > x)