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

yizhihongxing

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编程slice与indices函数用法示例

    下面是详解Python编程Slice与indices函数用法示例的攻略: Slice的概念 在Python编程中,Slice是一种用来提取数据序列片段的方法。我们可以使用Slice提取一个列表或字符串中的一部分数据。使用Slice需要指定起始索引和结束索引,语法格式如下: seq[start:end] 其中,起始索引包含在Slice中,而结束索引不包含在Sl…

    python 2023年6月3日
    00
  • PyQt5结合matplotlib绘图的实现示例

    PyQt5是一个Python编写的图形界面工具包,它可以很方便地实现用户界面的设计和开发。而matplotlib则是Python非常流行的绘图库,可以用来制作各种类型的图表。本文将详细讲解如何结合PyQt5和Matplotlib实现绘图,以及给出两个实例。 1. 安装必要的库 在开始之前,需要先安装PyQt5和matplotlib这两个库,使用pip命令即可…

    python 2023年5月18日
    00
  • 利用python中集合的唯一性实现去重

    利用Python中集合的唯一性实现去重 在Python中,集合(set)是一种无序且元素唯一的数据类型。因此,可以利用集合的唯一性来实现去重操作。本攻略将详细介绍如何利用Python中集合的唯一性实现去重,包括集合的定义、创建、去重操作等内容。 集合的定义和创建 在Python中,可以使用花括号或set()函数来定义和创建一个集合。以下是一些示例代码: # …

    python 2023年5月13日
    00
  • Python实现的用户登录系统功能示例

    我来给你详细讲解Python实现的用户登录系统功能示例的完整攻略。 1. 系统功能介绍 在我们的用户登录系统中,我们需要实现以下功能: 用户注册:用户输入账号和密码,将其存入数据库中。 用户登录:用户输入账号和密码,系统进行验证,若验证成功则允许用户进入系统。 修改密码:用户可以在登录状态下修改密码。 2. 实现步骤 2.1 安装所需包 我们需要安装以下包来…

    python 2023年5月30日
    00
  • Python第三方Window模块文件的几种安装方法

    关于Python第三方Window模块文件的安装方法,这里提供以下几种常用的方法,具体请查看下文中的详细说明。 方法1:使用pip工具安装第三方模块 pip是Python的一种包管理工具,可用于安装、升级、卸载Python包。使用pip可以简单地实现第三方模块的安装。 打开命令行窗口,输入以下命令安装第三方模块: pip install 模块名称 其中,模块…

    python 2023年5月14日
    00
  • 浅谈python中截取字符函数strip,lstrip,rstrip

    浅谈Python中截取字符函数strip,lstrip,rstrip Python中提供了三种截取字符串的方法:strip、lstrip和rstrip。 strip strip函数可以截取掉字符串两端的指定字符,默认是空格。常用于数据清洗和整理。下面是使用示例: text = ‘ hello ‘ print(text.strip()) # 输出 ‘hello…

    python 2023年6月5日
    00
  • python中字符串前面加r的作用

    当在Python中使用字符串时,可以在字符串前面加上r来创建Raw字符串(Raw字符串就是不含有转义字符的字符串)。那么,字符串前面加r的作用是什么?下面我将提供完整的攻略,包括原理和示例说明。 1. 原理 在Python中,如果您在字符串中使用了反斜杠“\”,Python将解释它是一个特殊字符,比如换行、制表符等。例如: s = "Hello\n…

    python 2023年6月5日
    00
  • 详解Python中httptools模块的使用

    本攻略将提供一个详解Python中httptools模块的使用的过程,包括httptools模块的概念、httptools模块的基本功能、httptools模块的使用方法以及两个示例,分别演示如何使用httptools模块。 httptools模块的概念 httptools是一个基于Python的HTTP协议解析器,用于解析HTTP请求和响应。httptoo…

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