pandas 相关条件筛选相关,怎么同时对行和列进行条件限定有更好的写法吗

yellowtail

df_new.loc[df_new.index>= df_new['low'].idxmin() ].loc[df_new['mark']==-1].head(1).index 这样写感觉太繁琐了,筛选应该是 loc 但 doc 似乎没发现有能同时设定行列的说明

目的是得到在 low 列的最小值以后,mark 列值为-1 的一个数的序列号

2 条回复  •  2020-06-18 16:17:50 +08:00
jyyx
jyyx4 小时 10 分钟前
mask = (df_new.index >= df_new['low'].idxmin()) & (df_new['mark'] == -1)
new_df.loc[mask, :].head(1).index
1
jyyx
jyyx3 小时 59 分钟前
其实获取 index 不需要用 loc 了
mask = (df_new.index >= df_new['low'].idxmin()) & (df_new['mark'] == -1)
mask.head(1).index
2