当前位置: 首页 > news >正文

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

目录

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高级功能                                 

最佳匹配查找

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

相关文章:

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

目录 01初识 Rapidfuzz 什么是 Rapidfuzz? 为什么选择 Rapidfuzz? 安装 Rapidfuzz 配置 Rapidfuzz 02基本操作 简单比率计算 03高级功能 查找单个最佳匹配 查找多个最佳匹配 使用阈值优化性能 04实战案例…...

【猫狗分类】Pytorch VGG16 实现猫狗分类1-数据清洗+制作标签文件

Pytorch 猫狗分类 用Pytorch框架,实现分类问题,好像是学习了一些基础知识后的一个小项目阶段,通过这个分类问题,可以知道整个pytorch的工作流程是什么,会了一个分类,那就可以解决其他的分类问题&#xff0…...

磁盘管理 磁盘介绍 MBR

track:磁道,就是磁盘上同心圆,从外向里,依次1号、2号磁道..... sector:扇区,将磁盘分成一个一个扇形区域,每个扇区大小是512字节,从外向里,依次是1号扇区、2号扇区... cy…...

JSON响应中提取特定的信息——6.14山大软院项目实训2

在收到的JSON响应中提取特定的信息(如response字段中的文本)并进行输出,需要进行JSON解析。在Unity中,可以使用JsonUtility进行简单的解析,但由于JsonUtility对嵌套对象的支持有限,通常推荐使用第三方库如N…...

【C++高阶】高效搜索的秘密:深入解析搜索二叉树

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:C多态 🌹🌹期待您的关注 🌹🌹 ❀二叉搜索树 📒1. 二叉搜索树&…...

《软件定义安全》之七:SDN安全案例

第7章 SDN安全案例 1.DDoS缓解 1.1 Radware DefenseFlow/Defense4All Radware在开源的SDN控制器平台OpenDaylight(ODL)上集成了一套抗DDoS的模块和应用,称为Defense4ALL。其架构如下图,主要有两部分:控制器中的安全…...

java语言his系统医保接口 云HIS系统首页功能实现springboot框架+Saas模式 his系统项目源码

java语言his系统医保接口 云HIS系统首页功能实现springboot框架Saas模式 his系统项目源码 HIS系统的实施旨在整个医院建设企业级的计算机网络系统,并在其基础上构建企业级的应用系统,实现整个医院的人、财、物等各种信息的顺畅流通和高度共享&#xff0c…...

使用vscode插件du-i18n处理前端项目国际化翻译多语言

前段时间我写了一篇关于项目国际化使用I18n组件的文章,Vue3 TS 使用国际化组件I18n,那个时候还没真正在项目中使用,需求排期还没有定,相当于是预研。 当时就看了一下大概怎么用,改了一个简单的页面,最近需…...

双系统下,如何隐藏另一个系统分区?

前言 最近有小伙伴在公众号下留言: 小伙伴说:“双系统时,非当前系统的系统盘能不能屏蔽?!比如Win7的系统盘在Win10系统时,盘符成了D盘,安装应用软件时,有些文件就到了D盘&#xff0…...

电脑意外出现user32.dll丢失的八种修复方法,有效解决user32.dll文件丢失

遇到与 user32.dll 相关的错误通常是因为该文件已损坏、丢失、或者与某些软件冲突。今天这篇文章寄给大家介绍八种修复user32.dll丢失的方法,下面是一步步的详细教程来解决这个问题。 1. 重新启动电脑 第一步总是最简单的:重新启动你的电脑。许多小问题…...

CUDA系列-Kernel Launch-8

这里写目录标题 kernel launch 本章主要追踪一下kernel launch的流程,会不断完善。 kernel launch 先抛出一个问题,如果在一个循环中不断的发送kernel(kernel 内部while死循环),会是什么结果。 // kernel 函数 __glo…...

# 消息中间件 RocketMQ 高级功能和源码分析(四)

消息中间件 RocketMQ 高级功能和源码分析(四) 一、 消息中间件 RocketMQ 源码分析:回顾 NameServer 架构设计。 1、RocketMQ 架构设计 消息中间件的设计思路一般是基于主题订阅发布的机制,消息生产者(Producer&…...

如何通过数据库与AI实现以图搜图?OceanBase向量功能详解

OceanBase支持向量数据库的基础能力 当前,数据库存储系统与人工智能技术的结合,可以体现在两个主要的应用方向上。 一、近似搜索。它利用大语言模型(LLM,简称大模型)的嵌入(embedding)技术&am…...

Kafka内外网分流配置listeners和advertised.listeners

问题背景: Kafka部署在内网,内网Java服务会使用Kafka收发消息,另外,Java服务会与其他第三方系统使用kafka实现数据同步,也就是外网也会发送消息到kafka,外网IP做了端口映射到了内网,advertised…...

Linux系统编程——网络编程

目录 一、对于Socket、TCP/UDP、端口号的认知: 1.1 什么是Socket: 1.2 TCP/UDP对比: 1.3 端口号的作用: 二、字节序 2.1 字节序相关概念: 2.2 为什么会有字节序: 2.3 主机字节序转换成网络字节序函数…...

信息安全技术基础知识-经典题目

【第1题】 1.在信息安全领域,基本的安全性原则包括机密性(Confidentiality)、完整性(Integrity)和 可用性(Availability)。机密性指保护信息在使用、传输和存储时 (1) 。信息加密是保证系统机密性的常用手段。使用哈希校验是保证数据完整性的常用方法。可用性指保证…...

nextjs(持续学习中)

return ( <p className{${lusitana.className} text-xl text-gray-800 md:text-3xl md:leading-normal}> Welcome to Acme. This is the example for the{’ } Next.js Learn Course , brought to you by Vercel. ); } 在顶级 /public 文件夹下提供静态资产 **默认 /…...

数据预处理与特征工程、过拟合与欠拟合

数据预处理与特征工程 常用的数据预处理步骤 向量化&#xff1a;将数据转换成pytorch张量值归一化&#xff1a;将特定特征的数据表示成均值为0&#xff0c;标准差为1的数据的过程&#xff1b;取较小的值&#xff1a;通常在0和1之间&#xff1b;相同值域处理缺失值特征工程&am…...

甲辰年五月十四风雨思

甲辰年五月十四风雨思 夜雨消暑气&#xff0c;远光归家心。 ​只待万窗明&#xff0c;朝夕千家勤。 ​苦乐言行得&#xff0c;酸甜日常品。 宫商角徵羽&#xff0c;​仁义礼智信。...

java分别使用 iText 7 库和iText 5 库 将excel转成PDF导出,以及如何对excel转PDF合并单元格

第一种 package com.junfun.pms.report.util;import com.itextpdf.kernel.font.PdfFontFactory; import com.itextpdf.layout.Document; import com.itextpdf.layout.element.Paragraph; import com.itextpdf.layout.property.TextAlignment; import com.itextpdf.layout.prop…...

Java特性之设计模式【访问者模式】

一、访问者模式 概述 在访问者模式&#xff08;Visitor Pattern&#xff09;中&#xff0c;我们使用了一个访问者类&#xff0c;它改变了元素类的执行算法。通过这种方式&#xff0c;元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式&…...

【教师资格证考试综合素质——法律专项】未成年人保护法笔记以及练习题

《中华人民共和国未成年人保护法》 目录 第一章 总 则 第二章 家庭保护 第三章 学校保护 第四章 社会保护 第五章 网络保护 第六章 政府保护 第七章 司法保护 第八章 法律责任 第九章 附 则 介一&#xff0e;首次颁布&#xff1a;第一部《中华人民共和国未成年人保护法…...

6.19作业

TCP服务器 #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <unistd.h> #include <arpa/inet.h> #include <netinet/in.h> #include <string.h>#define PORT 8888 #define IP "192.168.124.39&q…...

java 线程之间通信-volatile 和 synchronized

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…...

资源宝库网站!人人必备的神器!

面对网络中海量的内容&#xff0c;一个高效、便捷的网络导航工具&#xff0c;可以帮助我们快速查找使用网络资源。无论是职场精英还是学生党&#xff0c;使用导航网站都可以帮助我们提升效率。下面小编就来和大家分享一款资源宝库网站-办公人导航-实用的办公生活导航网站&#…...

Redis实战—优惠卷秒杀(锁/事务/代理对象的应用)

本博客为个人学习笔记&#xff0c;学习网站与详细见&#xff1a;黑马程序员Redis入门到实战 P50 - P54 目录 优惠卷秒杀下单功能实现 超卖问题 悲观锁与乐观锁 实现CAS法乐观锁 一人一单功能实现 代码优化 代码细节分析 优惠卷秒杀下单功能实现 ​ ​ Controller层…...

HTML星空特效

目录 写在前面 完整代码 代码分析 运行效果 系列文章 写在后面 写在前面 100行代码实现HTML星空特效。 完整代码 全部代码如下。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&g…...

银行数仓项目实战(四)--了解银行业务(存款)

文章目录 项目准备存款活期定期整存整取零存整取存本取息教育储蓄定活两便通知存款 对公存款对公账户协议存款 利率 项目准备 &#xff08;贴源层不必写到项目文档&#xff0c;因为没啥操作没啥技术&#xff0c;只是数据。&#xff09; 可以看到&#xff0c;银行的贴源层并不紧…...

MySQL版本发布模型

MySQL 8.0 之后使用了新的版本控制和发布模型&#xff0c;分为两个主线&#xff1a;长期支持版&#xff08;LTS&#xff09;以及创新版。这两种版本都包含了缺陷修复和安全修复&#xff0c;都可以用于生产环境。 下图是 MySQL 的版本发布计划&#xff1a; 长期支持版 MySQL…...

java: 不兼容的类型: org.apache.xmlbeans.XmlObject无法转换为x2006.main.CTRow

我使用的xmlbeans版本是5.0&#xff0c;使用xmlbeans包做转换时&#xff0c;报错&#xff0c;正如标题显示得那样 解决办法 额外再引入下面的jar包 <dependency><groupId>org.apache.xmlbeans</groupId><artifactId>xmlbeans</artifactId><…...

揭阳网站开发/baidu百度首页

1、在源监视器中查看剪辑要在源监视器中查看剪辑&#xff0c;可以将其从“项目”面板拖到“源监视器”中&#xff0c;或双击要查看的剪辑。音频片段将显示为波形&#xff0c;如下所示。如果要在“源监视器”中包含多个剪辑&#xff0c;只需将它们从“项目”面板中拖动即可。在源…...

网站的建立/24小时人工在线客服

1让智能无人机梦想变成现实对于大多数极客学员来说&#xff0c;自己组装一台无人机&#xff0c;可以航拍&#xff0c;可以目标跟踪&#xff0c;是心中的梦想&#xff0c;但是实现梦想的学员却很少。...我们的课程由北京航空航天大学无人机专家设计和指导&#xff0c;与真实的科…...

河北城乡建设部网站首页/网站建设公司大全

要使用 Keil 软件&#xff0c;首先要正确安装 Keil 软件&#xff0c;该软件的 Eval 版本可以直接去http://www.keil.com 下载&#xff0c;安装时选择 Eval Vision&#xff0c;其它步骤与一般 Windows 程序安装类似&#xff0c;这里就不再赘述了。安装完成后&#xff0c;将 Ledk…...

抽奖机网站怎么做的/互联网运营推广

参考系统允许输入数据的规则&#xff0c;给系统输入非法的数据&#xff0c;验证系统是否禁止此部分数据的提交&#xff0c;并且给予良好的提示信息 把某个相关模块或者子系统停掉&#xff0c;验证对当前系统的影响&#xff0c;系统应该不会发生崩溃或者大部分功能不可用的情况 …...

国外单页制作网站模板/抖音seo软件工具

冒泡&#xff1a;即使通过子级元素的事件来触发父级的事件&#xff0c;通过阻止冒泡可以防止冒泡发生。 事件源&#xff1a;首先这个东西是有兼容行问题的,当然解决也很简单。 两者结合使用&#xff0c;形成的事件委托有两个优势&#xff1a; 1.减少性能消耗&#xff1b; 2.新添…...

视频app制作/网站seo好学吗

最近在做一个仿电商的APP&#xff0c;由于前面使用了Fragment技术&#xff0c;现在想要在一个Fragment中做出TabHost的界面效果&#xff0c;经过查找资料找到了解决办法&#xff0c;特分享出来&#xff01;&#xff08;新人勿喷&#xff01;&#xff09;首先要使用的控件是Supp…...