如何在Python Pandas中根据列表值创建忽略大小写的新列
Pandas 实现忽略大小写匹配关键词生成标记列
核心实现代码
import pandas as pd # 示例数据构造,实际使用时替换为你自己的DataFrame即可 df = pd.DataFrame({ "col1": ["John Simon prd", "agc Ann White", "BeN and Ann"] }) bad_list = ["Ben", "Wayne"] # 核心逻辑:拼接关键词为正则或匹配模式,忽略大小写匹配后转整数 match_pattern = "|".join(bad_list) df["col2"] = df["col1"].str.contains(match_pattern, case=False, regex=True).astype(int)
补充说明
如果你的bad_list里包含.、*、?这类正则特殊字符,需要对每个关键词做转义避免匹配异常,修改模式生成逻辑即可:
import re match_pattern = "|".join(re.escape(word) for word in bad_list)
运行后得到的df和你预期的输出结果完全一致。
内容的提问来源于stack exchange,提问作者dingaro
相关产品推荐
相关产品推荐

