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

pandas如何删除未至少包含特定值yes/on的DataFrame行且不使用for循环

实现代码

你可以直接用pandas内置的向量化操作完成,全程无显式循环,性能远高于迭代写法:

filtered_df = df[df.isin(['yes', 'on']).any(axis=1)]

代码说明

  • df.isin(['yes', 'on']):返回和原DataFrame维度相同的布尔矩阵,元素为True表示对应位置的值是yes或者on,其余情况(包括NaN、no)都为False
  • .any(axis=1):对布尔矩阵按行聚合,只要某行存在至少一个True就返回True,否则返回False,最终得到长度等于行数的布尔掩码
  • 用布尔掩码对原DataFrame做行索引,就只保留了符合要求的行,结果和你给出的预期输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:00:03