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

如何用Python Pandas筛选仅含PF_20和PF_70值的DataFrame列

筛选仅包含指定值的DataFrame列

可以用Pandas的isin()结合all()方法快速实现需求,下面是具体代码:

import pandas as pd

# 定义允许出现的两个值
allowed_vals = {"PF_20", "PF_70"}

# 生成列筛选的布尔掩码:检查每一列所有值是否都在允许集合内
col_mask = DF.apply(lambda col: col.isin(allowed_vals).all())

# 筛选出符合条件的列
filtered_df = DF.loc[:, col_mask]

代码解释

  • col.isin(allowed_vals):对列中每个元素判断是否属于允许值,返回布尔Series
  • .all():确认该列所有元素都满足条件,最终生成一个以列名为索引的布尔Series
  • DF.loc[:, col_mask]:通过布尔掩码筛选出符合要求的列

如果你的需求是要求列中必须同时包含PF_20和PF_70两个值(不能只有其中一个),可以把判断逻辑改成检查列的唯一值集合完全匹配允许集合:

col_mask = DF.apply(lambda col: set(col.unique()) == allowed_vals)
filtered_df = DF.loc[:, col_mask]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:40:33