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

在Pandas中调用RapidFuzz字符串匹配结果与直接调用不一致是什么原因

问题根本原因

你在为Address Similarity 2列赋值时,调用str(test_anui['Processed Client Address'])、str(test_anui['Processed Aruvio Address'])转换的是Pandas Series对象的结构化字符串表示,而非Series中存储的原始地址文本。
直接打印str(test_anui['Processed Client Address'])可以看到,输出包含索引、列名、数据类型等额外信息,和你定义的address_a原始值完全不同,所以计算得到的相似度和直接传入原始字符串的结果不一致。

正确实现方式

分两种场景适配:

  • 单条数据测试场景(你的测试用例仅1行数据):直接取Series的第一个元素计算即可
test_anui['Address Similarity 2'] = fuzz.token_sort_ratio(
    test_anui['Processed Client Address'].iloc[0], 
    test_anui['Processed Aruvio Address'].iloc[0]
)
  • 批量处理多行数据场景:通过apply逐行读取对应字段计算相似度
test_anui['Address Similarity 2'] = test_anui.apply(
    lambda row: fuzz.token_sort_ratio(row['Processed Client Address'], row['Processed Aruvio Address']),
    axis=1
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 23:45:00