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
晚上好,
我的 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