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. 确定聊天方式 首先,要确定聊天方式。有多种方式可以实现聊天功能,例如: 基于网络的聊天室,可以使用socket库来实现。 基于命令行的聊天,可以使用标准输入输出和多线程来实现。 基于图形化界面的聊天软件,可以使用PyQt或Tkinter等GUI库来实现。 在这里,我们将使用基于命令行的方式来实…

    python 2023年5月19日
    00
  • python基础学习之递归函数知识总结

    Python基础学习之递归函数知识总结 什么是递归函数 递归函数是一种在函数内部通过调用自身来实现循环的方式。递归函数可以像循环一样重复执行某个操作,但是它更灵活和强大,同时也更容易产生错误和陷入死循环。 递归函数的优缺点 优点 递归函数相对于循环函数有以下优点: 帮助程序员更好地理解问题逻辑 编写递归函数时可以使用数学归纳法证明正确性 递归函数可以让代码更…

    python 2023年6月5日
    00
  • 几种实用的pythonic语法实例代码

    下面是几种实用的Pythonic语法示例以及其详细说明: 1. 使用列表推导式 列表推导式是Pythonic语法中常用的一种,可以极大地简化代码,并且使代码更加易读。它的基本形式是这样的: [expression for item in iterable if condition] 其中,expression表示对每个item执行的操作,iterable表示…

    python 2023年5月30日
    00
  • Python3导入CSV文件的实例(跟Python2有些许的不同)

    以下是详细讲解“Python3导入CSV文件的实例(跟Python2有些许的不同)”的完整攻略。 1. CSV文件介绍 CSV,全称是Comma-Separated Values(逗号分隔值),是一种通用的文件格式,常用于存储Excel表格数据。CSV文件是纯文本,使用逗号分隔不同字段,每行表示一个数据记录,适用性强、简单易懂。 2. Python3导入CS…

    python 2023年6月3日
    00
  • Python中最神秘missing()函数介绍

    Python中最神秘missing()函数介绍 missing()是Python内置模块collections中提供的一个函数,它可以在字典中获取键值对中缺失的值。其中,字典是Python中一种常用的自带的数据结构,通过键值对的方式存储数据。 使用方法 missing()函数的使用方法如下: from collections import defaultdi…

    python 2023年5月13日
    00
  • python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解

    下面是该攻略的完整讲解: 简介 本攻略旨在详细介绍如何使用 Python 爬虫结合 Selenium 自动化测试框架实现自动翻页爬取蚂蚁金服数据的流程。 准备工作 为了实现这个任务,我们需要安装以下几个工具: Python 3.x Selenium 安装方法如下: 安装 Python 3.x 前往官网下载 Python 3.x 的最新版本,然后按照步骤安装即…

    python 2023年5月14日
    00
  • Python任意字符串转16, 32, 64进制的方法

    以下是Python任意字符串转16进制、32进制、64进制的方法攻略: 将字符串转为16进制 可以使用Python的内置模块binascii中的b2a_hex()函数将字符串转成16进制。具体实现过程如下: import binascii # 将字符串转化为16进制 s = ‘hello world’ hex_str = binascii.b2a_hex(s…

    python 2023年5月20日
    00
  • Python获取指定日期是”星期几”的6种方法

    Python获取指定日期是“星期几”的6种方法: 1)使用datetime库,调用weekday()方法 from datetime import datetime my_date = datetime(2021, 12, 25) print(my_date.weekday()) 输出结果为:5 (星期六,0表示星期一,以此类推) 2)使用calendar库…

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