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

如何识别列中目标单词变体并为对应行填充指定列值?

识别地名拼写变体并批量填充对应值

需求说明

需要识别DataFrame中place列里PHILADELPHIA、ILLINOIS的各类拼写变体(包括拼写错误、缩写、大小写差异等),并在value列对应行填充指定值:匹配到PHILADELPHIA变体填P,匹配到ILLINOIS变体填I。

示例输入数据结构:

placevalue
PHIADELPHIA
PHIALDELPHIA
PHIDELPHIA
illinois
...

解决方案

我们可以用模糊匹配(Fuzzy Matching)结合Levenshtein距离计算字符串相似度,判断是否属于目标单词的变体。这里使用fuzzywuzzy库,它封装了Levenshtein距离的计算逻辑,支持全匹配、部分匹配等模式,能高效处理拼写错误、缩写类变体。

实现步骤

  1. 安装依赖库
    先安装fuzzywuzzy和优化计算速度的python-Levenshtein:

    pip install fuzzywuzzy python-Levenshtein
    
  2. 编写匹配逻辑
    定义函数统一处理大小写,通过计算字符串相似度匹配目标单词,设定阈值判断归属。

  3. 批量填充值
    将函数应用到place列,完成value列的批量填充。

完整代码示例

import pandas as pd
import numpy as np
from fuzzywuzzy import fuzz

# 生成示例数据
place = ['PHIADELPHIA','PHIALDELPHIA','PHIDELPHIA','illinois','PHIELADELPHIA','PHIILADELPHIA','illinoi','PHILA','PHILA.','PHILAD','PHILADALPHIA','PHILADELPHIA','PHILADELAPHIA','PHILADELHIA','PHILADELHPIA','PHILADELLPHIA','PHILADELPHIA','PHILADELPH','PHILADELPHA','PHILADELPHAI','PHILADELPHI','PHILADELPHIA']
value=[np.nan]*len(place)
df = pd.DataFrame(zip(place,value), columns=["place", "value"])

# 定义匹配函数
def match_place(place_str):
    # 统一转为大写,消除大小写差异影响
    place_upper = place_str.upper()
    # 目标单词与对应填充值映射
    targets = {
        "PHILADELPHIA": "P",
        "ILLINOIS": "I"
    }
    # 遍历目标,计算部分匹配相似度(适配缩写类变体)
    for target, fill_val in targets.items():
        # partial_ratio适合处理字符串部分匹配(如PHILA是PHILADELPHIA的缩写)
        similarity = fuzz.partial_ratio(place_upper, target)
        # 设定相似度阈值,可根据需求调整
        if similarity >= 80:
            return fill_val
    # 未匹配到返回原空值
    return np.nan

# 应用函数填充value列
df['value'] = df['place'].apply(match_place)

# 查看结果
print(df)

代码说明

  • 大小写统一:将输入字符串转为大写,避免大小写差异导致的匹配失败;
  • partial_ratio:使用部分匹配相似度,能有效识别缩写、前缀类变体;
  • 阈值调整:若需更严格匹配可提高阈值(如90),兼容更多拼写错误则降低阈值;
  • 扩展性:新增目标单词时,直接在targets字典中添加键值对即可。

输出示例

运行代码后,value列会被正确填充:

placevalue
PHIADELPHIAP
PHIALDELPHIAP
PHIDELPHIAP
illinoisI
illinoiI
PHILAP
......

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:40:34