You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于值或条件动态筛选Pandas Series中的对应行

解决方案

pandas的Series完全支持链式筛选,有两种常用实现方案,都能满足你的需求:

  • 方案1:全版本兼容的loc+lambda写法
    直接在链式调用的loc属性中传入匿名函数引用当前Series做筛选,所有pandas版本都支持:
    s_selected = df['col1'].value_counts().loc[lambda x: x == 20]
    
    匿名函数的入参x就是前面生成的value_counts结果Series,你可以替换成任意筛选逻辑,比如lambda x: x > 10、lambda x: x.isin([15,20,25])都可以正常使用。
  • 方案2:类DataFrame query的写法
    pandas 1.0及以上版本新增了Series.query()方法,和DataFrame的query API使用逻辑一致,直接用self指代当前Series写条件表达式即可:
    s_selected = df['col1'].value_counts().query("self == 20")
    
    这种写法更简洁,也支持多条件组合,比如"self > 5 and self < 30"这类写法都能正常解析。

内容的提问来源于stack exchange,提问作者Anirban Chakraborty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:36:02