python fuzzywuzzy模块模糊字符串匹配详细用法

Python FuzzyWuzzy模块模糊字符串匹配详细用法攻略

什么是FuzzyWuzzy?

FuzzyWuzzy是一个Python模块,它提供了一组函数,可以用于模糊字符串聚合和匹配。它主要使用Levenshtein距离算法来计算字符串的相似程度。相对于传统的字符串匹配算法,例如精确匹配和正则表达式匹配,FuzzyWuzzy更适用于模糊匹配,能够处理不同单词顺序、缩写、不同字符串大小写等不同情况。

安装模块

使用pip命令来安装FuzzyWuzzy模块:

pip install fuzzywuzzy

常用函数

fuzz.ratio

该函数返回两个字符串的相似度评分,范围在0到100之间。返回值越接近100,这两个字符串越相似。

from fuzzywuzzy import fuzz

string_1 = "hello world"
string_2 = "helo world"

print(f"相似度:{fuzz.ratio(string_1, string_2)}") # 相似度:91

fuzz.partial_ratio

该函数计算两个字符串的部分字符串匹配相似度评分。函数会比较两个字符串中的所有子字符串,并返回相似度评分。该算法适用于情况如下:

  • 两个字符串包含相同的单词,但单词顺序不同;
  • 两个字符串中包含缩写。
from fuzzywuzzy import fuzz

string_1 = "python fuzzywuzzy"
string_2 = "python lib fuzzywuzzy"

print(f"相似度:{fuzz.partial_ratio(string_1, string_2)}") # 相似度:100

fuzz.token_sort_ratio

该函数计算两个字符串的相似度评分,并考虑单词顺序。首先,函数会对两个字符串中的单词进行排序。然后,它计算排序后的单词串的相似度评分。

from fuzzywuzzy import fuzz

string_1 = "python fuzzywuzzy"
string_2 = "fuzzywuzzy python"

print(f"相似度:{fuzz.token_sort_ratio(string_1, string_2)}") # 相似度:100

fuzz.token_set_ratio

该函数计算两个字符串的相似度评分,并考虑单词顺序、单词重复情况等。首先,将两个字符串中的单词分离,得到两个单词集合。然后,计算两个集合的交集和并集。最后,用交集数量和并集数量计算相似度评分。

from fuzzywuzzy import fuzz

string_1 = "python fuzzywuzzy"
string_2 = "fuzzywuzzy python lib"

print(f"相似度:{fuzz.token_set_ratio(string_1, string_2)}") # 相似度:100

总结

FuzzyWuzzy模块是Python中一个强大的字符串匹配工具。它能够处理不同单词顺序、缩写、不同字符串大小写等不同情况,可以很好地应用于自然语言处理、数据分析等领域。本文章列举了常用的函数并且给出了示例,希望对大家的学习和开发有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python fuzzywuzzy模块模糊字符串匹配详细用法 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python生成验证码实例

    生成验证码是一种常见的网络应用场景,可以用于用户注册、登录验证等等。下面是Python生成验证码的完整攻略。 1. 安装依赖库 Python生成验证码需要用到Pillow库,可以通过以下命令安装: pip install Pillow 2. 创建验证码生成函数 我们创建一个名为get_verify_code的函数,该函数可以生成4位随机字符,还会将字符绘制到…

    python 2023年6月3日
    00
  • 对python操作kafka写入json数据的简单demo分享

    下面是对Python操作Kafka写入JSON数据的完整攻略: 简介 Kafka是一个分布式流处理平台,常用于数据处理、日志处理等场景。Python中的kafka-python库提供了对Kafka的封装,使得Python可以很方便地对Kafka进行操作。本攻略将演示使用kafka-python库向Kafka中写入JSON数据的方法。 环境准备 在使用kafk…

    python 2023年6月3日
    00
  • Python 组合不受约束重复

    【问题标题】:Python combinations no repeat by constraintPython 组合不受约束重复 【发布时间】:2023-04-01 14:12:01 【问题描述】: 我有一个元组(Name, val 1, val 2, Class) tuple = ((“Jackson”,10,12,”A”), (“Ryan”,10,20…

    Python开发 2023年4月8日
    00
  • Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;not supported问题解决

    不过在回答之前,我先提供一下Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file; not supported问题解决 的背景和原因: 问题背景: 我们使用Python操作xlsx文件时,有时候会遇到一个奇怪的错误——”xlrd.biffh.XLRDError: Excel xlsx file; not…

    python 2023年5月13日
    00
  • python 高效去重复 支持GB级别大文件的示例代码

    下面是详细的讲解: 1. 需求背景 我们在处理数据时常常会遇到去重复的需求,如果我们的数据量非常大,那么如何高效的去重就成为了我们考虑的问题。运用 Python 的内置函数,我们可以轻松地对小型数据去重,但是当数据量极大时,内置函数的效率往往无法满足需求。 2. 解决方案 我们可以借助于 Python 的 set 集合,set 集合本身就是无序且元素不重复的…

    python 2023年6月5日
    00
  • python用户管理系统

    Python用户管理系统攻略 介绍 Python用户管理系统是一个简单的命令行程序,用于管理用户的基本信息,例如姓名,年龄,性别,爱好等。本系统可以执行以下功能: 添加用户:通过输入用户信息来添加用户。 删除用户:通过用户ID来删除用户。 更新用户信息:通过用户ID来更新用户信息。 查找用户:通过用户ID或用户姓名来查找用户。 显示所有用户信息:列出所有用户…

    python 2023年5月30日
    00
  • python3通过subprocess模块调用脚本并和脚本交互的操作

    以下是关于“Python3通过subprocess模块调用脚本并和脚本交互的操作”的完整攻略: subprocess模块 subprocess模块是Python中用于创建新进程的模块,可以用于调用外部或脚本,并与其进行交互。以下是subprocess模块的用函数: subprocess.run(): 运行命令并等待其完成。 subprocess.Popen(…

    python 2023年5月13日
    00
  • windows下安装Python和pip终极图文教程

    下面是“Windows下安装Python和pip终极图文教程”的完整攻略: 1. 下载并安装Python 1.1 在官网(https://www.python.org/downloads/windows/)下载Python安装包,根据系统位数选择下载相应版本的安装包。 1.2 双击下载好的Python安装包,并按照提示完成安装。注意,在安装过程中要勾选“Ad…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部