pandas 列 模糊匹配,pandas模糊匹配列名

  pandas 列 模糊匹配,pandas模糊匹配列名

  目录

  一.方法2

  1.导入库

  2.构建关键字

  3.构造句子

  4.建立统一的索引

  5.表连接

  6.关键词匹配

  二。方法2

  1.建一本字典

  2.关键词匹配

  3.结果展示

  4.展开匹配结果。

  1.方法二。这种方法是从两个表中构造某个相同的字段,然后将它们完全连接起来,过滤匹配结果。这种方法逻辑简单,但是在数据量不大的情况下会消耗大量内存。

  1.导入库导入熊猫as PD导入numpy as NP导入re 2。build keyword # keyword data df _ keyword=PD . data frame({ keyid :NP . arange(5), keyword: [numpy , pandas , matplotlib , sklearn , tensorflow]})df_keyword

  3.构造句子df _ sentence=PD . data frame({ senid :NP . arange(10,17),句子:[如何实现与熊猫合并?、 Python中Numpy的详细教程、如何使用熊猫批量拆分合并Excel文件?、‘如何使用熊猫的地图和应用功能?’、‘深度学习中的tensorflow简介’、‘tensor flow与numpy的关系’、‘基于sklearn的一些机器学习代码’]})df _ sentence

  4.建立统一索引df _ keyword[ match ]=1df _ sentence[ match ]=1 5。join df _ merge=PD . merge(df _ keyword,df _ sentence) df _ merge。

  6.关键字匹配def match _ func (row): return re。搜索(行[关键字],行[句子],re。忽略大小写)不是none。apply (match _ func,axis=1)]匹配结果如下

  2.方法二。这种方法需要编程能力,在大数据集上的计算量比方法小得多。

  1.建立字典key _ word _ dict={ row . keyword:row . keyid for row in df _ keyword . iteratuples()} 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,Id in key _ word _ dict . items()if re . search(key _ word,row [sentence],re.ignore case)]返回行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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: