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

Python pandas DataFrame关键词搜索及匹配标识添加方法

问题原因

原有代码的核心问题是apply计算得到的匹配结果没有赋值给DataFrame对象,执行完逻辑后结果直接被丢弃,DataFrame本身没有新增任何列,导出的CSV自然不会包含匹配标识。除此之外原有逻辑未处理空值、大小写差异场景,很容易出现漏匹配的问题。

修正代码

以下代码会在DataFrame中新增两个字段:匹配状态布尔标记、行内匹配项累计计数,同时兼容空值、大小写不一致的常见场景:

import pandas as pd
import numpy as np

df = pd.read_csv('InventoryValue-byItem-6-25-22.csv')
keyword = "VODKA"

# 匹配状态标记:任意列命中关键词即为True
df["match_flag"] = df.apply(
    lambda x: x.astype(str).str.contains(keyword, case=False, na=False).any(),
    axis=1
)

# 匹配计数:统计当前行命中关键词的字段总数
df["match_count"] = df.apply(
    lambda x: x.astype(str).str.contains(keyword, case=False, na=False).sum(),
    axis=1
)

df.to_csv('file_name.csv', index=False)
关键参数说明
  • case=False:匹配时忽略大小写,避免Vodka、vodka等不同大小写格式的目标内容被漏判
  • na=False:空值统一判定为不匹配,避免空值转字符串后触发报错或出现意外匹配结果
  • 直接将apply返回值赋值给df["列名"],才能把计算结果持久化到DataFrame结构中,最终写入导出的CSV文件

校验小技巧:导出文件前可以执行print(df[df["match_flag"]]),直接在控制台打印所有命中关键词的行,快速确认匹配结果是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:27:24