python 字符串模糊匹配Fuzzywuzzy的实现

目录
  • (1)安装
  • (2)接口说明
  • (3)使用

Python提供fuzzywuzzy模块,不仅可用于计算两个字符串之间的相似度,而且还提供排序接口能从大量候选集中找到最相似的句子。

(1)安装

pip install fuzzywuzzy

(2)接口说明

两个模块:fuzz, process,fuzz主要用于两字符串之间匹配,process主要用于搜索排序。

  • fuzz.ratio(s1,s2)直接计算s1和s2之间的相似度,返回值为0-100,100表示完全相同;
  • fuzz.partial_ratio(S1,S2)部分匹配,如果S1是S2的子串依然返回100;
  • fuzz.token_sort_ratio(S1,S2)只比较S1,S2单词是否相同,不考虑词语之间的顺序;
  • fuzz.token_set_ratio(S1,S2)相比fuzz.token_sort_ratio不考虑词语出现的次数;
  • process.extract(S1, ListS,limit=n),表示从列表ListS中找出Top n与S1最相似的句子;
  • process.extractOne(S1,ListS),返回最相似的一个

(3)使用

from fuzzywuzzy import fuzz
a = 'a b c'
b = ' a c b '
c = 'a c'

fuzz.ratio(a, c)
    >> 75
fuzz.ratio(b, c)
    >> 60
    
fuzz.partial_ratio(a, c)
    >> 67
fuzz.partial_ratio(b, c)
    >> 100    
    
fuzz.token_sort_ratio(a, c)
    >> 75
fuzz.token_sort_ratio(b, c)
    >> 75    

fuzz.token_set_ratio(a, c)
    >> 100
fuzz.token_set_ratio(b, c)
    >> 100

到此这篇关于python 字符串模糊匹配Fuzzywuzzy的实现的文章就介绍到这了,更多相关python 字符串模糊匹配内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python3中FuzzyWuzzy库实例用法

    万事万物都有自身存在的道理,虽然在python中有些代码我们并不常见.经常会觉得不是常用,就可以避之,但是大家好像都遗忘了一件事情,就是"真理都掌握在少数人手中",往往最不起眼的库,经常能给我们带来高效率,最适宜的使用过程,好啦,下面就给大家讲下FuzzyWuzzy库啦~ 前置条件 Python3 python-Levenshtein 安装方法: 通过Pip安装 pip install fuzzywuzzy 导入库: fromfuzzywuzzy import fuzz 做个简单的测试

  • Python+FuzzyWuzzy实现模糊匹配的示例详解

    目录 1. 前言 2. FuzzyWuzzy库介绍 2.1 fuzz模块 2.2 process模块 3. 实战应用 3.1 公司名称字段模糊匹配 3.2 省份字段模糊匹配 4. 全部函数代码 在日常开发工作中,经常会遇到这样的一个问题:要对数据中的某个字段进行匹配,但这个字段有可能会有微小的差异.比如同样是招聘岗位的数据,里面省份一栏有的写“广西”,有的写“广西壮族自治区”,甚至还有写“广西省”……为此不得不增加许多代码来处理这些情况. 今天跟大家分享FuzzyWuzzy一个简单易用的模糊字符

  • 使用Python完成公司名称和地址的模糊匹配的实现

    github主页 导入: >>> from fuzzywuzzy import fuzz >>> from fuzzywuzzy import process 1) >>> fuzz.ratio("this is a test", "this is a test!") out 97 >>> fuzz.partial_ratio("this is a test", "

  • python 字符串模糊匹配Fuzzywuzzy的实现

    目录 (1)安装 (2)接口说明 (3)使用 Python提供fuzzywuzzy模块,不仅可用于计算两个字符串之间的相似度,而且还提供排序接口能从大量候选集中找到最相似的句子. (1)安装 pip install fuzzywuzzy (2)接口说明 两个模块:fuzz, process,fuzz主要用于两字符串之间匹配,process主要用于搜索排序. fuzz.ratio(s1,s2)直接计算s1和s2之间的相似度,返回值为0-100,100表示完全相同: fuzz.partial_rat

  • Python实现字符串模糊匹配方式

    目录 Python字符串模糊匹配 包含四个参数 python-re模块,模糊匹配 Python字符串模糊匹配 Python的difflib库中get_close_matches方法 包含四个参数 x:被匹配的字符串. words:去匹配的字符串列表. n,前topn个最佳匹配返回,默认为3. cutoff:匹配度大小,为[0, 1]浮点数,默认数值0.6. import difflib list1 = ['ape', 'apple', 'peach', 'puppy'] difflib.get_

  • Python批量模糊匹配的3种方法实例

    目录 前言 使用编辑距离算法进行模糊匹配 使用fuzzywuzzy进行批量模糊匹配 fuzz模块 process模块 整体代码 使用Gensim进行批量模糊匹配 Gensim简介 使用词袋模型直接进行批量相似度匹配 使用TF-IDF主题向量变换后进行批量相似度匹配 同时获取最大的3个结果 完整代码 总结 前言 当然,基于排序的模糊匹配(类似于Excel的VLOOKUP函数的模糊匹配模式)也属于模糊匹配的范畴,但那种过于简单,不是本文讨论的范畴. 本文主要讨论的是以公司名称或地址为主的字符串的模糊

  • python字符串中匹配数字的正则表达式

    Python 正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 本章节给大家介

  • python pandas模糊匹配 读取Excel后 获取指定指标的操作

    1.首先读取Excel文件 数据代表了各个城市店铺的装修和配置费用,要统计出装修和配置项的总费用并进行加和计算: 2.pandas实现过程 import pandas as pd #1.读取数据 df = pd.read_excel(r'./data/pfee.xlsx') print(df) cols = list(df.columns) print(cols) #2.获取含有装修 和 配置 字段的数据 zx_lists=[] pz_lists=[] for name in cols: if

  • C/C++实现字符串模糊匹配

    需求: 准入授权配置文件有时候分了好几个维度进行配置,例如 company|product|sys这种格式的配置: 1.配置 "sina|weibo|pusher" 表示 sina公司weibo产品pusher系统能够准入,而"sina|weibo|sign"不允许准入 2.配置 "sina|*|pusher" 表示sina公司所有产品的pusher系统都能够准入 3.配置 "*|*|pusher" 表示所有公司的所有产品的p

  • 正则表达式实现字符的模糊匹配功能示例

    本文实例讲述了正则表达式实现字符的模糊匹配功能.分享给大家供大家参考,具体如下: package com.cn.util; import java.util.regex.Pattern; /** * 正则表达式 工具类 * * @author lifangyu */ public class RegexUtil { /* * IP地址的匹配标达式 ( // \\d{1,3}) // :\d // 0~9数字,{1,3} // 至少一位,最多三位) */ private static String

  • python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配

    已知一个元素,在一个list中找出相似的元素 使用场景: 已知一个其它来源的字符串, 它有可能是不完全与我数据库中相应的字符串匹配的,因此,我需要将其转为适合我数据库中的字符串 使用场景太绕了, 直接举例来说吧 随便举例: 按青岛城市的城区来说, 我数据库中存储的城区是个list:['市北区', '市南区', '莱州市', '四方区']等 从其它的数据来源得到一个城区是:市北 我怎么得到与市北相似相近的市北区 解决方案: In [1]: import difflib In [2]: cityar

  • python使用正则表达式匹配字符串开头并打印示例

    本文实例讲述了python使用正则表达式匹配字符串开头并打印的方法.分享给大家供大家参考,具体如下: import re s="name=z1hangshan username=fff url=www.baidu.com password=ddd256" s2="username=fff name=z1hangshan url=www.baidu.com password=ddd256" #p=re.compile(r'((?:\s)name=(\S)+)') p=

随机推荐