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

如何在Python中实现类SQL LIKE的DataFrame模糊匹配更新?

解决方案

直接用pandas的矢量化字符串方法和布尔索引就能解决,不用写低效的循环:

# 构建匹配条件:Genesis以"Incomplete"开头,且日期晚于等于指定周
condition = (open['Genesis'].str.startswith('Incomplete')) & (open['Date'] >= last_date)
# 对符合条件的行,将Result列赋值为对应行的Genesis值
open.loc[condition, 'Result'] = open.loc[condition, 'Genesis']

为什么你的循环代码无法正常运行?

  • 循环遍历open['Genesis']时,open['Date'] >= last_date是针对整个Date列的布尔数组,和当前遍历的单个word维度不匹配,导致条件判断逻辑错误。
  • 就算条件通过,open['Result'] = open['Genesis']会把整个Result列全部覆盖成Genesis列的值,而不是只修改符合条件的行,完全不符合需求。

pandas的矢量化操作天生就是用来处理整列/整行的批量逻辑,比手动循环效率高几十倍,还能避免行索引错位的问题。

内容的提问来源于stack exchange,提问作者exenlediatán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:05:34