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高级功能
最佳匹配查找
在处理大规模文本数据时,我们常常
相关文章:
![](https://img-blog.csdnimg.cn/direct/1646c6a2f4b74e26a645cbe8ddfc2d43.png)
Rapidfuzz,一个高效的 Python 模糊匹配神器
目录 01初识 Rapidfuzz 什么是 Rapidfuzz? 为什么选择 Rapidfuzz? 安装 Rapidfuzz 配置 Rapidfuzz 02基本操作 简单比率计算 03高级功能 查找单个最佳匹配 查找多个最佳匹配 使用阈值优化性能 04实战案例…...
![](https://img-blog.csdnimg.cn/direct/131f95d0184042579bda6dd0d13c36f0.png)
【猫狗分类】Pytorch VGG16 实现猫狗分类1-数据清洗+制作标签文件
Pytorch 猫狗分类 用Pytorch框架,实现分类问题,好像是学习了一些基础知识后的一个小项目阶段,通过这个分类问题,可以知道整个pytorch的工作流程是什么,会了一个分类,那就可以解决其他的分类问题࿰…...
![](https://img-blog.csdnimg.cn/direct/f5bc7812a9d74397933844fe372f9164.png)
磁盘管理 磁盘介绍 MBR
track:磁道,就是磁盘上同心圆,从外向里,依次1号、2号磁道..... sector:扇区,将磁盘分成一个一个扇形区域,每个扇区大小是512字节,从外向里,依次是1号扇区、2号扇区... cy…...
![](https://www.ngui.cc/images/no-images.jpg)
JSON响应中提取特定的信息——6.14山大软院项目实训2
在收到的JSON响应中提取特定的信息(如response字段中的文本)并进行输出,需要进行JSON解析。在Unity中,可以使用JsonUtility进行简单的解析,但由于JsonUtility对嵌套对象的支持有限,通常推荐使用第三方库如N…...
![](https://img-blog.csdnimg.cn/direct/3625647b74a1448587a83f542a6d749a.gif#pic_center)
【C++高阶】高效搜索的秘密:深入解析搜索二叉树
📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:C多态 🌹🌹期待您的关注 🌹🌹 ❀二叉搜索树 📒1. 二叉搜索树&…...
![](https://img-blog.csdnimg.cn/direct/13425a2e6d42416c90f1c30dd80b89e7.png#pic_center)
《软件定义安全》之七:SDN安全案例
第7章 SDN安全案例 1.DDoS缓解 1.1 Radware DefenseFlow/Defense4All Radware在开源的SDN控制器平台OpenDaylight(ODL)上集成了一套抗DDoS的模块和应用,称为Defense4ALL。其架构如下图,主要有两部分:控制器中的安全…...
![](https://img-blog.csdnimg.cn/direct/1df68211d2864a71b5d6a7d02f10ed47.png)
java语言his系统医保接口 云HIS系统首页功能实现springboot框架+Saas模式 his系统项目源码
java语言his系统医保接口 云HIS系统首页功能实现springboot框架Saas模式 his系统项目源码 HIS系统的实施旨在整个医院建设企业级的计算机网络系统,并在其基础上构建企业级的应用系统,实现整个医院的人、财、物等各种信息的顺畅流通和高度共享,…...
![](https://img-blog.csdnimg.cn/direct/409cb7ffeda5414ca2f22b486fd8881f.png)
使用vscode插件du-i18n处理前端项目国际化翻译多语言
前段时间我写了一篇关于项目国际化使用I18n组件的文章,Vue3 TS 使用国际化组件I18n,那个时候还没真正在项目中使用,需求排期还没有定,相当于是预研。 当时就看了一下大概怎么用,改了一个简单的页面,最近需…...
![](https://img-blog.csdnimg.cn/img_convert/92dd41f172b47be16931d1bed6329c42.png)
双系统下,如何隐藏另一个系统分区?
前言 最近有小伙伴在公众号下留言: 小伙伴说:“双系统时,非当前系统的系统盘能不能屏蔽?!比如Win7的系统盘在Win10系统时,盘符成了D盘,安装应用软件时,有些文件就到了D盘࿰…...
![](https://img-blog.csdnimg.cn/direct/3a4bca4e78b64be9bd4388292d369ccc.png)
电脑意外出现user32.dll丢失的八种修复方法,有效解决user32.dll文件丢失
遇到与 user32.dll 相关的错误通常是因为该文件已损坏、丢失、或者与某些软件冲突。今天这篇文章寄给大家介绍八种修复user32.dll丢失的方法,下面是一步步的详细教程来解决这个问题。 1. 重新启动电脑 第一步总是最简单的:重新启动你的电脑。许多小问题…...
![](https://www.ngui.cc/images/no-images.jpg)
CUDA系列-Kernel Launch-8
这里写目录标题 kernel launch 本章主要追踪一下kernel launch的流程,会不断完善。 kernel launch 先抛出一个问题,如果在一个循环中不断的发送kernel(kernel 内部while死循环),会是什么结果。 // kernel 函数 __glo…...
![](https://img-blog.csdnimg.cn/direct/31fce0c2c89247aabe8e30af77f16541.png)
# 消息中间件 RocketMQ 高级功能和源码分析(四)
消息中间件 RocketMQ 高级功能和源码分析(四) 一、 消息中间件 RocketMQ 源码分析:回顾 NameServer 架构设计。 1、RocketMQ 架构设计 消息中间件的设计思路一般是基于主题订阅发布的机制,消息生产者(Producer&…...
![](https://img-blog.csdnimg.cn/img_convert/3e2eecdeb41377dae03448485429cfa7.png)
如何通过数据库与AI实现以图搜图?OceanBase向量功能详解
OceanBase支持向量数据库的基础能力 当前,数据库存储系统与人工智能技术的结合,可以体现在两个主要的应用方向上。 一、近似搜索。它利用大语言模型(LLM,简称大模型)的嵌入(embedding)技术&am…...
![](https://www.ngui.cc/images/no-images.jpg)
Kafka内外网分流配置listeners和advertised.listeners
问题背景: Kafka部署在内网,内网Java服务会使用Kafka收发消息,另外,Java服务会与其他第三方系统使用kafka实现数据同步,也就是外网也会发送消息到kafka,外网IP做了端口映射到了内网,advertised…...
![](https://img-blog.csdnimg.cn/direct/816986fc962549d9bb78080fef44e622.png)
Linux系统编程——网络编程
目录 一、对于Socket、TCP/UDP、端口号的认知: 1.1 什么是Socket: 1.2 TCP/UDP对比: 1.3 端口号的作用: 二、字节序 2.1 字节序相关概念: 2.2 为什么会有字节序: 2.3 主机字节序转换成网络字节序函数…...
![](https://www.ngui.cc/images/no-images.jpg)
信息安全技术基础知识-经典题目
【第1题】 1.在信息安全领域,基本的安全性原则包括机密性(Confidentiality)、完整性(Integrity)和 可用性(Availability)。机密性指保护信息在使用、传输和存储时 (1) 。信息加密是保证系统机密性的常用手段。使用哈希校验是保证数据完整性的常用方法。可用性指保证…...
![](/hero-mobile.png)
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 文件夹下提供静态资产 **默认 /…...
![](https://www.ngui.cc/images/no-images.jpg)
数据预处理与特征工程、过拟合与欠拟合
数据预处理与特征工程 常用的数据预处理步骤 向量化:将数据转换成pytorch张量值归一化:将特定特征的数据表示成均值为0,标准差为1的数据的过程;取较小的值:通常在0和1之间;相同值域处理缺失值特征工程&am…...
![](https://www.ngui.cc/images/no-images.jpg)
甲辰年五月十四风雨思
甲辰年五月十四风雨思 夜雨消暑气,远光归家心。 只待万窗明,朝夕千家勤。 苦乐言行得,酸甜日常品。 宫商角徵羽,仁义礼智信。...
![](https://www.ngui.cc/images/no-images.jpg)
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…...
![](https://img-blog.csdnimg.cn/direct/0d33123314d0424ea72b21a72654ba50.png#pic_center)
Java特性之设计模式【访问者模式】
一、访问者模式 概述 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。根据模式&…...
![](https://www.ngui.cc/images/no-images.jpg)
【教师资格证考试综合素质——法律专项】未成年人保护法笔记以及练习题
《中华人民共和国未成年人保护法》 目录 第一章 总 则 第二章 家庭保护 第三章 学校保护 第四章 社会保护 第五章 网络保护 第六章 政府保护 第七章 司法保护 第八章 法律责任 第九章 附 则 介一.首次颁布:第一部《中华人民共和国未成年人保护法…...
![](https://www.ngui.cc/images/no-images.jpg)
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…...
![](https://img-blog.csdnimg.cn/direct/6b4dbe8116fb47638f265b11ab7a6af5.png)
java 线程之间通信-volatile 和 synchronized
你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…...
![](https://img-blog.csdnimg.cn/direct/6f61fdecf34c40f48bf0a79f16e8e00e.png)
资源宝库网站!人人必备的神器!
面对网络中海量的内容,一个高效、便捷的网络导航工具,可以帮助我们快速查找使用网络资源。无论是职场精英还是学生党,使用导航网站都可以帮助我们提升效率。下面小编就来和大家分享一款资源宝库网站-办公人导航-实用的办公生活导航网站&#…...
![](https://img-blog.csdnimg.cn/direct/be4ace738d1b4069bce4237db7bebc35.png)
Redis实战—优惠卷秒杀(锁/事务/代理对象的应用)
本博客为个人学习笔记,学习网站与详细见:黑马程序员Redis入门到实战 P50 - P54 目录 优惠卷秒杀下单功能实现 超卖问题 悲观锁与乐观锁 实现CAS法乐观锁 一人一单功能实现 代码优化 代码细节分析 优惠卷秒杀下单功能实现 Controller层…...
![](https://img-blog.csdnimg.cn/img_convert/1ec3682ff2f4958f23cf2615487a507f.png)
HTML星空特效
目录 写在前面 完整代码 代码分析 运行效果 系列文章 写在后面 写在前面 100行代码实现HTML星空特效。 完整代码 全部代码如下。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&g…...
![](https://img-blog.csdnimg.cn/direct/3f0c527d5afb4f549eae57e4404fc8a8.png)
银行数仓项目实战(四)--了解银行业务(存款)
文章目录 项目准备存款活期定期整存整取零存整取存本取息教育储蓄定活两便通知存款 对公存款对公账户协议存款 利率 项目准备 (贴源层不必写到项目文档,因为没啥操作没啥技术,只是数据。) 可以看到,银行的贴源层并不紧…...
![](https://img-blog.csdnimg.cn/direct/6debf465224a474eb185f9e7da6d73ab.png)
MySQL版本发布模型
MySQL 8.0 之后使用了新的版本控制和发布模型,分为两个主线:长期支持版(LTS)以及创新版。这两种版本都包含了缺陷修复和安全修复,都可以用于生产环境。 下图是 MySQL 的版本发布计划: 长期支持版 MySQL…...
![](https://www.ngui.cc/images/no-images.jpg)
java: 不兼容的类型: org.apache.xmlbeans.XmlObject无法转换为x2006.main.CTRow
我使用的xmlbeans版本是5.0,使用xmlbeans包做转换时,报错,正如标题显示得那样 解决办法 额外再引入下面的jar包 <dependency><groupId>org.apache.xmlbeans</groupId><artifactId>xmlbeans</artifactId><…...
![](/images/no-images.jpg)
最火的二十个电商app/广州网络推广seo
这里总结了常见的一些mysql错误,会不断更新。 要求大家将如下错误的每个单词都知道是什么意思,方便调错。 --1.语法错误:SQL syntax [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL …...
![](https://static001.infoq.cn/resource/image/30/cb/30b5375ed21be2b7cb3f1e11f1df9dcb.jpg)
大连筑成建设集团有限公司网站/推广策略可以分为哪三种
最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍《Android源码设计模式解析与实战》上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计模式,以及近期Android开发中的一些热点话题。\\受访嘉宾介绍&am…...
![](/images/no-images.jpg)
做app还是做网站/全国教育培训机构平台
有2年了,几个朋友都是华为的,40上下,公司发展一般,心有不甘,谈到创业,硬是找了个路子去做。2年下来,真是狗血剧。基本上把电视剧里能想到的桥段都出现了。给朋友们一飨,提个醒&#…...
![](https://img2018.cnblogs.com/blog/1462365/201908/1462365-20190812002005518-1646428342.png)
0基础网站建设模板/公司网站建设服务机构
软件环境 Blender 2.80 参考教程 Blender 2.8 Beginner Textures and Materials Tutorial https://www.youtube.com/watch?vfZSD7pVIUkY Render Result 制作流程记录 材质 手柄使用木纹材质(Displacement材质结点,使材质看上去有凹凸感,效果…...
![](https://images2018.cnblogs.com/blog/1186474/201807/1186474-20180723144535931-170892776.jpg)
网站建设标新立异/小红书推广怎么做
1、亚马逊商品页面链接地址(本次要爬取的页面url) https://www.amazon.cn/dp/B07BSLQ65P/ 2、代码部分 import requestsurl "https://www.amazon.cn/dp/B07BSLQ65P/"try: kv {user-agent: Mozilla/5.0} # 修改了发起请求的请求头中的user-agent的值ÿ…...
![](/images/no-images.jpg)
wordpress下载最新版本/天津疫情最新情况
➊平列复合句 平行复合句,即两个以上同等性质的分句依次排列,之间无任何语法标志相连,共同构成的一个概念完整的组句。它又被称为la partage或lhypotaxe(平行句) ⒶJe lai vu, jai veng mon honneur et mon pre ;je le…...