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

2020-06-18 15:28:51 +08:00
 yellowtail

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

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

1506 次点击
所在节点    Python
3 条回复
jyyx
2020-06-18 16:06:39 +08:00
mask = (df_new.index >= df_new['low'].idxmin()) & (df_new['mark'] == -1)
new_df.loc[mask, :].head(1).index
jyyx
2020-06-18 16:17:50 +08:00
其实获取 index 不需要用 loc 了
mask = (df_new.index >= df_new['low'].idxmin()) & (df_new['mark'] == -1)
mask.head(1).index
billgreen1
2020-06-18 22:46:27 +08:00
df.query (“mark==-1”).sort_values ( by=“low”).head ( 1 )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/682713

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX