人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

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

發(fā)布日期:2021-12-12 00:12 | 文章來(lái)源:CSDN

一、方法2

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

1. 導(dǎo)入庫(kù)

import pandas as pd
import numpy as np
import re

2. 構(gòu)建關(guān)鍵詞

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

3. 構(gòu)建句子

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

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

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

5. 表連接

df_merge = pd.merge(df_keyword, df_sentence)
df_merge

6. 關(guān)鍵詞匹配

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

匹配結(jié)果如下

二、方法2

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

1. 構(gòu)建字典

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. 關(guān)鍵詞匹配

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. 結(jié)果展示

df_merge

4. 匹配結(jié)果展開(kāi)

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

總結(jié)

到此這篇關(guān)于Python Pandas兩個(gè)表格內(nèi)容模糊匹配搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部