欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2021年11月11日 17:16:56   作者:迪迦瓦特曼  
模糊查詢大家應(yīng)該都不會陌生,下面這篇文章主要給大家介紹了關(guān)于Python Pandas兩個(gè)表格內(nèi)容模糊匹配的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、方法2

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

1. 導(dǎo)入庫

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簡介",
        "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

此方法對編程能力有要求,在大數(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é)果展開

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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python的Django框架中的Cookie相關(guān)處理

    詳解Python的Django框架中的Cookie相關(guān)處理

    這篇文章主要介紹了詳解Python的Django框架中的Cookie相關(guān)處理,Cookie存儲是每個(gè)開發(fā)框架都會著重注意的重要功能,需要的朋友可以參考下
    2015-07-07
  • np.ones的使用小結(jié)

    np.ones的使用小結(jié)

    本文主要介紹了np.ones的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python線程之同步機(jī)制實(shí)際應(yīng)用場景舉例說明

    Python線程之同步機(jī)制實(shí)際應(yīng)用場景舉例說明

    這篇文章主要給大家分享的是Python線程之同步機(jī)制實(shí)際應(yīng)用場景舉例說明,銀行轉(zhuǎn)賬小栗子供大家參考學(xué)習(xí),希望對你有一定的幫助
    2022-02-02
  • Python中合并列表的5種方法代碼示例

    Python中合并列表的5種方法代碼示例

    在python列表操作中除了排序、刪除、添加、去重外,合并也是經(jīng)常需求的操作,下面這篇文章主要給大家介紹了關(guān)于Python中合并列表的5種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 用 python 進(jìn)行微信好友信息分析

    用 python 進(jìn)行微信好友信息分析

    這篇文章主要介紹了用 python 進(jìn)行微信好友信息分析的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python爬蟲獲取基金變動信息

    Python爬蟲獲取基金變動信息

    這篇文章主要介紹了Python爬蟲獲取基金變動信息,問基于上一篇文章得內(nèi)容介紹圍繞python的相關(guān)資料展開全文,需要的小伙伴可以參考一下
    2022-05-05
  • vscode配置anaconda3的方法步驟

    vscode配置anaconda3的方法步驟

    這篇文章主要介紹了vscode配置anaconda3的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • python如何給內(nèi)存和cpu使用量設(shè)置限制

    python如何給內(nèi)存和cpu使用量設(shè)置限制

    這篇文章主要介紹了python如何給內(nèi)存和cpu使用量設(shè)置限制,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Tensorflow 實(shí)現(xiàn)分批量讀取數(shù)據(jù)

    Tensorflow 實(shí)現(xiàn)分批量讀取數(shù)據(jù)

    今天小編就為大家分享一篇Tensorflow 實(shí)現(xiàn)分批量讀取數(shù)據(jù),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 使用Python制作一個(gè)極簡四則運(yùn)算解釋器

    使用Python制作一個(gè)極簡四則運(yùn)算解釋器

    這篇文章主要介紹了使用Python制作一個(gè)極簡四則運(yùn)算解釋器,在使用工具之前,至少也要了解工具的作用,需要的朋友可以參考下
    2023-04-04

最新評論