如何进行Python pandas两个表格内容模糊匹配的实现
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,如何进行Python pandas两个表格内容模糊匹配的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、方法2此方
千家信息网最后更新 2025年01月21日如何进行Python pandas两个表格内容模糊匹配的实现
如何进行Python pandas两个表格内容模糊匹配的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一、方法2
此方法是两个表构建某一相同字段,然后全连接,在做匹配结果筛选,此方法针对数据量不大的时候,逻辑比较简单,但是内存消耗较大
1. 导入库
import pandas as pdimport numpy as npimport 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'] = 1df_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 Nonedf_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 rowdf_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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
关键
关键词
结果
数据
方法
此方法
两个
内容
学习
帮助
表格
清楚
相同
较大
不大
代码
全连
内存
函数
句子
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全m是什么意思
集图软件开发
中国电子病历软件开发公司
服务器管理 php
马车8服务器维护
实数思维导图软件开发
网络技术相关认证有哪些
人民大学贫困人口微观追踪数据库
网络数据库值只能为男或女
长城计算机系统有限公司服务器
数据库能添加多少主键
服务器登陆之后怎么用
求生之路自建服务器怎么搜
组服务器打游戏
尚德网络技术有限公司征集广告
东营染整软件开发价格
哪个云服务器相对安全
软件开发能发表论文吗
万德数据库可以看买卖吗
数据库的数据模型怎么写
网络安全策略名词解释
合肥天下网络技术有限公司
网络安全入围
高级数据库设计题
天津亚凯网络技术有限公司
excle搜索重复数据库
触宝电话连接不上服务器能修好吗
怎么查看云服务器是不是腾讯
软件开发能发表论文吗
上海悦易网络技术