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

Pandas判断DataFrame列表类型列的所有元素是否均存在于指定列表中

解法

首先把参考列表itemset转为集合类型,利用集合O(1)的查询效率提升整体性能,有两种常用实现方式:

方式1:搭配all()函数(性能更优)

all()遇到不符合条件的元素会提前终止校验,不需要遍历整个列表,适合antecedent元素较多的场景:

# 先转集合,避免每次遍历列表查询,大幅提升性能
itemset_set = set(itemset)
# 逐行做全包含校验
df_itemset['is_all_in'] = df_itemset['antecedent'].map(lambda x: all(item in itemset_set for item in x))

方式2:集合子集判断(写法更简洁)

直接调用集合内置的子集校验方法,代码可读性更高:

itemset_set = set(itemset)
df_itemset['is_all_in'] = df_itemset['antecedent'].map(lambda x: set(x).issubset(itemset_set))

效果验证

两种写法对你给出的示例返回结果完全符合预期:

  1. 输入['Investimento Fundos_commodities', 'Investimento Fundos'] → 返回False
  2. 输入['Investimento Fundos_commodities', 'Investimento CDB'] → 返回True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:07