首页 > 编程语言 >Rapidfuzz,一个高效的 Python 模糊匹配神器

Rapidfuzz,一个高效的 Python 模糊匹配神器

时间:2024-06-19 12:02:02浏览次数:23  
标签:神器 匹配 Python Rapidfuzz fuzz 相似 字符串 ratio

目录

01初识 Rapidfuzz                      

什么是 Rapidfuzz?

为什么选择 Rapidfuzz?

安装 Rapidfuzz

配置 Rapidfuzz

02基本操作

简单比率计算

03高级功能                                 

查找单个最佳匹配

查找多个最佳匹配

使用阈值优化性能

04实战案例

文本自动纠错

客户信息匹配

产品推荐系统

05高级应用

自定义相似度度量

多字段匹配

06结语                                       



01初识 Rapidfuzz                      

什么是 Rapidfuzz?

  Rapidfuzz 是一个用于模糊字符串匹配的 Python 库,它基于 Levenshtein 距离和其他相似度度量方法,能够高效地进行字符串比较和匹配。Rapidfuzz 的目标是提供一个快速、准确、易用的模糊匹配工具。

   Rapidfuzz 是为了满足现代数据处理中对于字符串匹配速度和准确性的双重需求而生的。当我们提到字符串匹配,可能脑海中首先浮现的是正则表达式或者是传统的字符串比对方法。然而,这些方法在处理模糊匹配上显得力不从心。
          在模糊匹配的王国里,Levenshtein 和fuzzywuzzy 曾称霸一方,但是随着 Rapidfuzz 的出现,它们的宝座开始摇摇欲坠。
  Rapidfuzz 以其背后的 C++强力驱动,其执行效率大大超越了它的前辈们。它不仅速度更快,性能更优,而且依赖更少,为开发者节约了大量的时间与精力。

为什么选择 Rapidfuzz?

  • 高效快速:Rapidfuzz 比 FuzzyWuzzy 更快,能够处理大规模文本数据。

  • 精准匹配:提供多种相似度度量方法,确保匹配的准确性。

  • 易于使用:简单直观的 API,让你轻松上手。

  • 丰富的功能:支持字符串相似度计算、部分匹配、排序等多种功能。

安装 Rapidfuzz

安装 Rapidfuzz 非常简单,只需要一行命令:

pip install rapidfuzz

配置 Rapidfuzz

Rapidfuzz 不需要额外配置,安装完成后即可使用。在你的 Python 脚本中导入 Rapidfuzz 库即可:

from rapidfuzz import fuzz

Github 项目地址:

https://github.com/rapidfuzz/RapidFuzz

02基本操作

字符串相似度计算

Rapidfuzz 提供了多种相似度度量方法,包括简单的比率计算和部分匹配。让我们先来看几个例子:

简单比率计算
from rapidfuzz import fuzz

# 计算两个字符串的相似度
ratio = fuzz.ratio("hello world", "hello world!")
print(f"相似度: {ratio}%")  # 输出: 相似度: 96.7741935483871%

部分匹配

from rapidfuzz import fuzz

# 计算两个字符串的部分匹配相似度
partial_ratio = fuzz.partial_ratio("hello world", "world")
print(f"部分匹配相似度: {partial_ratio}%")  # 输出: 部分匹配相似度: 100.0%

Token 比率计算

from rapidfuzz import fuzz

# 计算两个字符串的 Token 比率
token_sort_ratio = fuzz.token_sort_ratio("hello world", "world hello")
print(f"Token 比率: {token_sort_ratio}%")  # 输出: Token 比率: 100.0%

03高级功能                                 

最佳匹配查找

在处理大规模文本数据时,我们常常

标签:神器,匹配,Python,Rapidfuzz,fuzz,相似,字符串,ratio
From: https://blog.csdn.net/xyh2004/article/details/139795765

相关文章

  • Python安全字符串处理工具库之markupsafe使用详解
    概要在Web开发和模版渲染中,处理用户输入的数据时,防止HTML注入是至关重要的。markupsafe 是一个Python库,专门用于确保字符串在插入HTML时的安全性。它提供了一个安全的字符串类型,可以自动转义特殊字符,防止潜在的安全漏洞。本文将详细介绍 markupsafe 库,包括其安装......
  • python模块之codecs
    python模块codecspython对多国语言的处理是支持的很好的,它可以处理现在任意编码的字符,这里深入的研究一下python对多种不同语言的处理。有一点需要清楚的是,当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的:原有编码->内部编码->目的编码python的内部......
  • 笔记-python与鸭子
    首先介绍下面向对象(OOP)的三大特征:(1)面向对象程序设计有三大特征:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)。这三个单词很常见,大家还是记住为好!(2)封装(Encapsulation):类包含了数据和方法,将数据和方法放在一个类中就构成了封装。(3)继承(Inheritance):Java是单继承......
  • python代码生成器
    Python中可以使用多种方式实现代码生成器的功能,即基于模板生成代码或者文档。其中最常用的是Jinja2和Mako这两个模板引擎。下面我将展示如何使用Jinja2来实现一个简单的代码生成器。首先,确保你已经安装了Jinja2库。如果没有安装,可以通过pip安装:pipinstalljinja2然后,你......
  • Python做点击率数据预测
    点击率(Click-ThroughRate,CTR)预测是推荐系统、广告系统和搜索引擎中非常重要的一个环节。在这个场景中,我们通常需要根据用户的历史行为、物品的特征、上下文信息等因素来预测用户点击某个特定物品(如广告、推荐商品)的概率。1.点击率数据预测以下是一个简化的点击率预测示例,......
  • 【Playwright+Python】系列教程(一)环境搭建及脚本录制
    一、前言看到这个文章,有的同学会说:六哥,你为啥不早早就写完python系列的文章。因为有徒弟需要吧,如果你也想学自学,那这篇文章,可以说是我们结缘一起学习的开始吧!如果对你有用,建议收藏和转发!二、Playwright是什么?微软开源自动化测试工具Playwright,支持主流浏览器,包括:Chrome、Fir......
  • python:create file
     #os.mkdir(path)filename='1.py'try:ifnotos.path.exists("Common"):os.mkdir("Common")else:ifos.path.exists("Common/"+filename):print(fi......
  • 实训日记十:Python文本挖掘数据分析-part1
    目录数据分析流程项目背景&产品架构数据说明分析流程加载数据清洗数据-驱虫市场潜力分析整体市场-驱虫市场的潜力分析数据分析流程每个环节都有具体的要求,例如需求文档要求包含:目的,分析思路,预期效果业务部门出问题和需求,以及对算法&数据部门输出报告的理解和......
  • PyQt5和Eric7的安装使用 —— Python篇
    需要安装Python的朋友请看另一篇文章:windows系统安装Python-----并安装使用Pycharm编辑器一、安装PyQt5:1、方法一:使用pip命令在线安装。输入以下命令可以直接安装:pipinstallPyQt5由于安装默认使用国外的镜像,可能因为网络问题会导致下载慢或者失败的现象。所以我们可以......
  • 【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)
    ......