iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python Pandas两个表格内容模糊匹配的实现
  • 868
分享到

Python Pandas两个表格内容模糊匹配的实现

2024-04-02 19:04:59 868人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、方法21. 导入库2. 构建关键词3. 构建句子4. 建立统一索引5. 表连接6. 关键词匹配二、方法21. 构建字典2. 关键词匹配3. 结果展示4. 匹配结果展开总结一、

一、方法2

此方法是两个表构建某一相同字段,然后全连接,在做匹配结果筛选,此方法针对数据量不大的时候,逻辑比较简单,但是内存消耗较大

1. 导入库


import pandas as pd
import numpy as np
import re

2. 构建关键词


#关键词数据
df_keyWord = pd.DataFrame({
    "keyid" : np.arange(5),
    "keyword" : ["numpy", "pandas", "matplotlib", "sklearn", "Tensorflow"]
})
df_keyword

3. 构建句子


df_sentence = pd.DataFrame({
    "senid" : np.arange(10,17),
    "sentence" : [
        "怎样用pandas实现merge?",
        "python之Numpy详细教程",
        "怎么使用Pandas批量拆分与合并excel文件?",
        "怎样使用pandas的map和apply函数?",
        "深度学习之tensorflow简介",
        "tensorflow和numpy的关系",
        "基于sklearn的一些机器学习的代码"
    ]
})
df_sentence

 

4. 建立统一索引


df_keyword['match'] = 1
df_sentence['match'] = 1

5. 表连接


df_merge = pd.merge(df_keyword, df_sentence)
df_merge

6. 关键词匹配


def match_func(row):
    return re.search(row["keyword"], row["sentence"], re.IGNORECASE) is not None
df_merge[df_merge.apply(match_func, axis = 1)]

匹配结果如下 

二、方法2

此方法对编程能力有要求,在大数据集上计算量较方法一小很多

1. 构建字典


key_word_dict = {
    row.keyword : row.keyid
    for row in df_keyword.itertuples()
}
key_word_dict

{'numpy': 0, 'pandas': 1, 'matplotlib': 2, 'sklearn': 3, 'tensorflow': 4}

2. 关键词匹配


def merge_func(row):
    #新增一列,表示可以匹配的keyid
    row["keyids"] = [
        keyid
        for key_word, keyid in key_word_dict.items()
        if re.search(key_word, row["sentence"], re.IGNORECASE)
    ]
    return row
df_merge = df_sentence.apply(merge_func, axis = 1)

3. 结果展示


df_merge

4. 匹配结果展开


df_result = pd.merge(
left = df_merge.explode("keyids"),
right = df_keyword,
left_on = "keyids",
right_on = "keyid")
df_result

总结

到此这篇关于Python Pandas两个表格内容模糊匹配搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python Pandas两个表格内容模糊匹配的实现

本文链接: https://www.lsjlt.com/news/157101.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python Pandas两个表格内容模糊匹配的实现
    目录一、方法21. 导入库2. 构建关键词3. 构建句子4. 建立统一索引5. 表连接6. 关键词匹配二、方法21. 构建字典2. 关键词匹配3. 结果展示4. 匹配结果展开总结一、...
    99+
    2022-11-12
  • 如何进行Python pandas两个表格内容模糊匹配的实现
    如何进行Python pandas两个表格内容模糊匹配的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、方法2此方法是两个表构建某一相同字段,然后全连接,...
    99+
    2023-06-25
  • 通过python模糊匹配算法对两个excel表格内容归类
    目录一、问题描述二、运用方法三、代码编写3.13.23.33.43.5四、代码集合五、总结一、问题描述 在实习的时候,需要将两个表格的内容进行匹配分类,比如两个不同的工程项目针对的对...
    99+
    2023-03-22
    python excel表格归类 python模糊匹配算法归类
  • 怎么通过python模糊匹配算法对两个excel表格内容归类
    今天小编给大家分享一下怎么通过python模糊匹配算法对两个excel表格内容归类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作