最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Pandas數(shù)據(jù)集的合并與連接merge()方法

 更新時(shí)間:2023年11月22日 10:04:17   作者:阿松愛睡覺  
Pandas數(shù)據(jù)集的合并與連接(merge())是數(shù)據(jù)處理過程中常用的操作之一,在使用Pandas進(jìn)行數(shù)據(jù)集合并時(shí),可以使用merge()函數(shù)將兩個(gè)或多個(gè)數(shù)據(jù)集按照指定的列進(jìn)行合并,本文就來(lái)介紹一下,感興趣的可以了解一下

merge()解析

merge()可根據(jù)一個(gè)或者多個(gè)鍵將不同的DataFrame連接在一起,類似于SQL數(shù)據(jù)庫(kù)中的合并操作。

在這里插入圖片描述

數(shù)據(jù)連接的類型

  • 一對(duì)一的連接:
df1 = pd.DataFrame({'employee': ['Bob', 'Jake', 'Lisa', 'Sue'], 'group': ['Accounting', 'Engineering', 'Engineering', 'HR']})
df2 = pd.DataFrame({'employee': ['Lisa', 'Bob', 'Jake', 'Sue'], 'hire_date': [2004, 2008, 2012, 2014]})
df3 = pd.merge(df1,df2)
df3

輸出:

在這里插入圖片描述

df3

在這里插入圖片描述

  • 多對(duì)一的連接:
df4 = pd.DataFrame({'group': ['Accounting', 'Engineering', 'HR'], 'supervisor': ['Carly', 'Guido', 'Steve']})
pd.merge(df3,df4) 

輸出:

在這里插入圖片描述

  • 多對(duì)多連接:
df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', 'Engineering', 'Engineering', 'HR', 'HR'], 'skills': ['math', 'spreadsheets', 'coding', 'linux', 'spreadsheets', 'organization']})
pd.merge(df1,df5)

輸出:

在這里插入圖片描述

merge()的主要參數(shù)

1. on 可以是列名字符串或者一個(gè)包含多列名稱的列表;

pd.merge(df1, df2, on='employee')

輸出:

在這里插入圖片描述

這個(gè)參數(shù)只能在兩個(gè)DataFrame有共同列名的時(shí)候才可以使用。

2. left_onright_on參數(shù)

有時(shí)你也需要合并兩個(gè)列名不同的數(shù)據(jù)集,例如前面的員工信息表中有一個(gè)字段不是employee而是name。在這種情況下,就可以用left_on和right_on參數(shù)來(lái)指定列名。

df3 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], 'salary': [70000, 80000, 120000, 90000]})
dfx = pd.merge(df1,df3,left_on="employee",right_on="name")

輸出:

在這里插入圖片描述

在這里插入圖片描述

drop()刪除
如果出現(xiàn)重復(fù)列,但是列名不同時(shí),可以使用drop方法將這列去掉;

dfx.drop("name",axis=1)

輸出:

在這里插入圖片描述

3. left_index與right_index參數(shù) 用于合并索引

df1a = df1.set_index('employee')
df2a = df2.set_index('employee')
pd.merge(df1a,df2a,left_index=True,right_index=True)

輸出:

在這里插入圖片描述

join()方法也可以實(shí)現(xiàn)該功能:

df1a.join(df2a)

輸出:

在這里插入圖片描述

如果想將索引與列混合使用,那么可以通過結(jié)合left_index與 right_on,或者結(jié)合left_on與right_index來(lái)實(shí)現(xiàn)。

pd.merge(df1a, df3, left_index=True, right_on='name')

輸出:

在這里插入圖片描述

4. how參數(shù)

how參數(shù)默認(rèn)情況下是inner,也就是取交集。how參數(shù)支持的數(shù)據(jù)連接方式還有outer、leftright。outer表示外連接,取并集。

df6 = pd.DataFrame({'name': ['Peter', 'Paul', 'Mary'], 'food': ['fish', 'beans', 'bread']}, columns=['name', 'food']) 
df7 = pd.DataFrame({'name': ['Mary', 'Joseph'], 'drink': ['wine', 'beer']}, columns=['name', 'drink'])
pd.merge(df6, df7, how='outer') 

輸出:

在這里插入圖片描述

左連接和右連接返回的結(jié)果分別只包含左列和右列;

pd.merge(df6, df7, how='left')

輸出:

在這里插入圖片描述

5. suffixes參數(shù)

如果輸出結(jié)果中有兩個(gè)重復(fù)的列名,因此pd.merge()函數(shù)會(huì)自動(dòng)為它們?cè)黾雍缶Y _x 或 _y,當(dāng)然也可以通過suffixes參數(shù)自定義后綴名。

df8 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], 'rank': [1, 2, 3, 4]}) 
df9 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], 'rank': [3, 1, 4, 2]})
pd.merge(df8, df9, on="name", suffixes=["_L", "_R"])

輸出:

在這里插入圖片描述

suffixes參數(shù)同樣適用于任何連接方式,即使有三個(gè)及三個(gè)以上的重復(fù)列名時(shí)也同樣適用。

到此這篇關(guān)于Pandas數(shù)據(jù)集的合并與連接merge()方法的文章就介紹到這了,更多相關(guān)Pandas數(shù)據(jù)集的合并與連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 三步快速實(shí)現(xiàn)Python解包EXE文件獲取源碼的完整教學(xué)

    三步快速實(shí)現(xiàn)Python解包EXE文件獲取源碼的完整教學(xué)

    你是否曾經(jīng)遇到過這樣的情況,需要分析一個(gè)Python打包的可執(zhí)行文件,但卻無(wú)法獲取原始代碼,Python EXE解包技術(shù)正是解決這個(gè)問題的關(guān)鍵,下面我們就來(lái)看看Python解包exe的具體步驟吧
    2026-01-01
  • 使用python根據(jù)端口號(hào)關(guān)閉進(jìn)程的方法

    使用python根據(jù)端口號(hào)關(guān)閉進(jìn)程的方法

    今天小編就為大家分享一篇使用python根據(jù)端口號(hào)關(guān)閉進(jìn)程的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-11-11
  • python編寫圖書管理系統(tǒng)

    python編寫圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python編寫圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python設(shè)計(jì)模式中的狀態(tài)模式你了解嗎

    Python設(shè)計(jì)模式中的狀態(tài)模式你了解嗎

    這篇文章主要為大家詳細(xì)介紹了Python設(shè)計(jì)模式中的狀態(tài)模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • Python利用Lambda表達(dá)式高效處理列表

    Python利用Lambda表達(dá)式高效處理列表

    這篇文章主要為大家詳細(xì)介紹了Python如何利用Lambda表達(dá)式高效處理列表,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-12-12
  • 解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問題

    解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問題

    這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的解決辦法,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Python處理CSV文件與Excel文件的技巧分享

    Python處理CSV文件與Excel文件的技巧分享

    CSV全稱逗號(hào)分隔值文件是一種簡(jiǎn)單通用的文件格式,Excel是 Microsoft為使用 Windows 和 macOS 操作系統(tǒng)開發(fā)的一款電子表格軟件,下面我們來(lái)看看如何使用Python對(duì)著兩種文件格式進(jìn)行處理吧
    2025-07-07
  • Django加載配置的過程詳解

    Django加載配置的過程詳解

    這篇文章主要介紹了Django加載配置的過程詳解,包括Django服務(wù)啟動(dòng) manage.py的詳細(xì)介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)

    django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)

    這篇文章主要介紹了django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python+selenium行為鏈登錄12306(滑動(dòng)驗(yàn)證碼滑塊)

    python+selenium行為鏈登錄12306(滑動(dòng)驗(yàn)證碼滑塊)

    這篇文章主要介紹了python+selenium行為鏈登錄12306,使用python網(wǎng)絡(luò)爬蟲登錄12306,下面小編為大家分享一段代碼,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-02-02

最新評(píng)論

萨嘎县| 莒南县| 松潘县| 永安市| 乐亭县| 武邑县| 绥芬河市| 鲁山县| 托克托县| 新疆| 丽水市| 抚松县| 宝兴县| 麻阳| 凤山县| 樟树市| 甘肃省| 承德县| 石棉县| 秦安县| 鸡东县| 扶风县| 桃园县| 砀山县| 无棣县| 雷山县| 安宁市| 山阳县| 岳普湖县| 荆州市| 铜鼓县| 淮南市| 洛阳市| 南城县| 长葛市| 台山市| 赣州市| 尚义县| 兴海县| 利辛县| 威宁|