Python、Pandas:查找具有确切条件的第一个行索引

Python, Pandas: Find first row-index with exact condition

晚上好,

我的 Dataframe 看起来像这样:

name    |    age
name_a  |    27
name_b  |    59
name_c  |    41
...
name_z  |    38

我如何找到第一行 - 并获取索引 - 在某个条件下,比方说 "age" >= 40 是合适的?

感谢大家的帮助,祝大家度过一个愉快的夜晚!

您可以先 sort_values 年龄:

df = df.sort_values('age')

然后在使用条件并根据条件子设置数据帧后取head(1)。

df[df['age']>40].head(1)

     name  age
2  name_c   41

假设你需要找到第一个出现的地方,你可以先从条件中创建一个布尔序列,然后使用 idxmax on the boolean series as here,其中 Return 最大的第一次出现的索引超过请求的轴:

cond = df.age.ge(40)
idx = cond.idxmax() if cond.any() else None
idx
# 1