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

如何判断DataFrame的name列列表内所有元素都属于指定英文词典

实现方案

  1. 先将你的单词词典转换为集合类型,利用集合O(1)的查询效率提升校验速度:
word_set = set(words['word'])
  1. 对name列逐行校验列表内所有元素是否都属于合法英文单词:
df['is_english'] = df['name'].apply(lambda x: all(item in word_set for item in x))

原方法失效原因

你之前使用的isin方法是把name列的整个列表作为一个独立整体去匹配words内的元素,不会深入列表内部校验单个元素,因此无法实现需求。
上述实现中all()函数会遍历列表的每一个元素,只有所有元素都存在于英文词库中才会返回True,任意元素不在词库中就返回False,完全匹配你的校验规则。

可选扩展

如果需要处理空列表的边界场景,可以自行调整判断逻辑,比如要求空列表返回False的话修改为:

df['is_english'] = df['name'].apply(lambda x: len(x) > 0 and all(item in word_set for item in x))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:04