一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python Pandas兩個表格內容模糊匹配的實現(xiàn)

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

2022-02-28 00:24迪迦瓦特曼 Python

模糊查詢大家應該都不會陌生,下面這篇文章主要給大家介紹了關于Python Pandas兩個表格內容模糊匹配的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

一、方法2

此方法是兩個表構建某一相同字段,然后全連接,在做匹配結果篩選,此方法針對數(shù)據(jù)量不大的時候,邏輯比較簡單,但是內存消耗較大

1. 導入庫

import pandas as pd
import numpy as np
import re

2. 構建關鍵詞

#關鍵詞數(shù)據(jù)
df_keyword = pd.DataFrame({
  "keyid" : np.arange(5),
  "keyword" : ["numpy", "pandas", "matplotlib", "sklearn", "tensorflow"]
})
df_keyword

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

3. 構建句子

df_sentence = pd.DataFrame({
  "senid" : np.arange(10,17),
  "sentence" : [
      "怎樣用pandas實現(xiàn)merge?",
      "Python之Numpy詳細教程",
      "怎么使用Pandas批量拆分與合并Excel文件?",
      "怎樣使用pandas的map和apply函數(shù)?",
      "深度學習之tensorflow簡介",
      "tensorflow和numpy的關系",
      "基于sklearn的一些機器學習的代碼"
  ]
})
df_sentence

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

4. 建立統(tǒng)一索引

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

5. 表連接

df_merge = pd.merge(df_keyword, df_sentence)
df_merge

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

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)]

匹配結果如下

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

 

二、方法2

此方法對編程能力有要求,在大數(shù)據(jù)集上計算量較方法一小很多

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

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

4. 匹配結果展開

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

Python Pandas兩個表格內容模糊匹配的實現(xiàn)

 

總結

到此這篇關于Python Pandas兩個表格內容模糊匹配搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_43734080/article/details/121228769

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲看片lutube在线入口 | 国产精品成人免费福利 | 精品久久成人免费第三区 | 国产精品区一区二区免费 | 5555国产在线观看精品 | 亚洲午夜精品久久久久久人妖 | 校园高h | 极品美女aⅴ高清在线观看 极品ts赵恩静和直男激战啪啪 | 冰雪奇缘1完整版免费观看 变形金刚第一部 | 亚洲 日韩 在线 国产 视频 | 欧美成人精品福利在线视频 | 被夫上司强迫中文 | 小仙夜晚慰自催眠mp3护士篇 | 国产一区视频在线免费观看 | 欧美折磨另类系列sm | 国产第一综合另类色区奇米 | 欧美一级视频在线高清观看 | 国产精品原创巨作无遮挡 | 我的好妈妈7中字在线观看韩国 | 四虎免费永久观看 | 乳 好大h| 暖暖的免费观看高清视频韩国 | sihu国产午夜精品一区二区三区 | 暖暖日本在线观看免费 | 亚洲另类激情 | 动漫美女被羞羞产奶 | 亚洲看片lutube在线入口 | 蜜桃成熟时1997在线看免费看 | 欧美最猛性xxxxx动态图 | 免费看男女污污完整版 | 果冻传媒在线视频观看免费 | 12345国产精品高清在线 | 久久亚洲国产成人影院 | 无码国产成人午夜在线观看不卡 | 奇米777四色精品综合影院 | 91制片厂制作果冻传媒2021 | 国产尤物精品视频 | 国产午夜精品久久理论片 | 婷婷精品进入 | 色综合天天综合中文网 | 猥琐对着美女飞机喷到脸上 |