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

Python?pandas數(shù)據(jù)合并merge函數(shù)用法詳解

 更新時間:2023年07月26日 09:35:53   作者:只有你最牛  
這篇文章主要給大家介紹了關于Python?pandas數(shù)據(jù)合并merge函數(shù)用法的相關資料,數(shù)據(jù)分析中經(jīng)常會遇到數(shù)據(jù)合并的基本問題,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

一、語法格式

介紹一下數(shù)據(jù)分析中很常用的一個函數(shù)——merge,它能夠進行高效的數(shù)據(jù)合并操作。先看一下語法格式及其初步解釋:

pd.merge(left: 'DataFrame | Series',  # 左右兩個需要合并的DataFrame對象。  
         right: 'DataFrame | Series',
         how: 'str' = 'inner',  # 要執(zhí)行的合并類型,從{'left','right','outer','inner','cross'}中取值,默認為'inner'。
         on: 'IndexLabel | None' = None,  # 用于連接的鍵(即列標簽名),該鍵必須存在于左右兩個DataFrame中。若沒有指定,則以列名的交集作為連接鍵。
         left_on: 'IndexLabel | None' = None, 
         right_on: 'IndexLabel | None' = None,  # 指定左右DataFrame對象中作為連接鍵的列名。適用于左右擬連接列名稱有差異時。
         left_index: 'bool' = False,
         right_index: 'bool' = False,  # 和上,將左右frame的索引作為連接鍵,進行數(shù)據(jù)合并。
         sort: 'bool' = False,  # DataFrame對象結(jié)果中,按詞典順序排序,默認False。
         suffixes: 'Suffixes' = ('_x', '_y'),  # 當左右DataFrame存在相同列名時,通過該參數(shù)為其添加后綴。
         copy: 'bool' = True,
         indicator: 'bool' = False,  # 輸出結(jié)果中添加_merge列,表明每一行使用的左右鍵來源情況。
         validate: 'str | None' = None  # 驗證連接鍵在左側(cè)、右側(cè)或兩側(cè)是否唯一,即'1:1','1:m','m:1'。
        )

二、舉例解釋

(一)首先生成兩個DataFrame對象,以供我們案例使用:

dep_inf = {'部門':['業(yè)務一部','業(yè)務二部','業(yè)務三部','辦公室'],
           '城市': ['深圳','上海','北京','廣州'],
           '部門名稱':['業(yè)務一部','業(yè)務二部','業(yè)務三部','辦公室']}
emp_inf = {'姓名':['張飛','趙云','金蓮','關習','和珅','宋江'],
           '學歷':['本科','碩士','本科','本科','博士','碩士'],
           '部門':['業(yè)務一部','業(yè)務一部','業(yè)務二部','業(yè)務三部','業(yè)務三部','業(yè)務四部'],
           '城市':['北京','深圳','廣州','上海','深圳','深圳']}
df_d = pd.DataFrame(dep_inf)
df_e = pd.DataFrame(emp_inf)

生成的兩個DataFrame對象如下:

(二)下面舉個栗子,介紹一下主要參數(shù)

1、參數(shù)left,right:

將df_d作為左側(cè)的frame,df_e作為右側(cè)的frame,則參數(shù)left=df_d,right=df_e;

2、參數(shù)how:

當參數(shù)how='left':僅使用左側(cè)frame的鍵;當參數(shù)how='right':僅使用右側(cè)frame的鍵;當參數(shù)how='outer':使用左右兩側(cè)frame的鍵的并集;當參數(shù)how='inner':使用左右兩側(cè)frame的鍵的交集;

3、參數(shù)on:

df_d,df_e中都有“部門”列(鍵),則使用“部門”作為連接鍵,即參數(shù)on='部門'。

下面就以“部門”作為連接鍵,順便看一下參數(shù)how的效果。

pd.merge(df_d, df_e, how='left',on='部門',indicator=True)
pd.merge(df_d, df_e, how='right',on='部門',indicator=True)
pd.merge(df_d, df_e, how='inner',on='部門',indicator=True)
pd.merge(df_d, df_e, how='outer',on='部門',indicator=True)

4、參數(shù)indicator:

在輸出結(jié)果中添加_merge列,表明每一行使用的左右鍵來源情況,如上圖所示。

同時,可以看一下merge參數(shù)的結(jié)果_merge列加深對參數(shù)how的理解。

5、參數(shù)left_on,right_on:

這兩個參數(shù)其實和參數(shù)'on'是同一性質(zhì),當左右兩個frame的連接鍵的名字相同時,可以直接用參數(shù)‘on’。但是如果像本例中,左側(cè)frame鍵名為“部門名稱”(假設左側(cè)frame中沒有“部門這一列”),右側(cè)frame鍵名為“部門”,但是其內(nèi)容實質(zhì)相同。此時就用left_on和right_on參數(shù)以替代參數(shù)on。

6、參數(shù)suffixes:

該參數(shù)默認suffixes = ('_x', '_y'),所以命令中未寫。

當左右frame存在相同列名時,通過該參數(shù)為其添加后綴。因為左側(cè)frame和右側(cè)frame均有城市、部門列,因此為了防止相同列互相覆蓋,給左右兩側(cè)的列加了后綴_x和_y以保留數(shù)據(jù)。當然這個_x和_y是默認后綴,你也可以根據(jù)需要修改為其他形式。

其他參數(shù)請參照本文第一部分:語法格式中的解釋。

總結(jié)

到此這篇關于Python pandas數(shù)據(jù)合并merge函數(shù)用法的文章就介紹到這了,更多相關pandas數(shù)據(jù)合并merge函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解用python生成隨機數(shù)的幾種方法

    詳解用python生成隨機數(shù)的幾種方法

    這篇文章主要介紹了詳解用python生成隨機數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • linux centos 7.x 安裝 python3.x 替換 python2.x的過程解析

    linux centos 7.x 安裝 python3.x 替換 python2.x的過程解析

    這篇文章主要介紹了linux centos 7.x 安裝 python3.x 替換 python2.x的過程解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 使用Python快速制作可視化報表的方法

    使用Python快速制作可視化報表的方法

    今天小編就為大家分享一篇使用Python快速制作可視化報表的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 對python讀寫文件去重、RE、set的使用詳解

    對python讀寫文件去重、RE、set的使用詳解

    今天小編就為大家分享一篇對python讀寫文件去重、RE、set的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Django項目搭建之實現(xiàn)簡單的API訪問

    Django項目搭建之實現(xiàn)簡單的API訪問

    這篇文章主要給大家介紹了關于Django項目搭建之實現(xiàn)簡單的API訪問的相關資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友可以參考下
    2023-02-02
  • Python深度學習之Pytorch初步使用

    Python深度學習之Pytorch初步使用

    今天給大家整理了Python深度學習之Pytorch初步使用的有關知識,文中介紹的非常詳細,對正在學習python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Python 游戲大作炫酷機甲闖關游戲爆肝數(shù)千行代碼實現(xiàn)案例進階

    Python 游戲大作炫酷機甲闖關游戲爆肝數(shù)千行代碼實現(xiàn)案例進階

    本篇文章給大家?guī)鞵ython的一個游戲大制作—機甲闖關冒險,數(shù)千行代碼實現(xiàn)的游戲,過程很詳細,對大家的學習或工作具有一定的借鑒價值,需要的朋友可以參考下
    2021-10-10
  • python中in在list和dict中查找效率的對比分析

    python中in在list和dict中查找效率的對比分析

    今天小編就為大家分享一篇python中in在list和dict中查找效率的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 基于Flask+websocket實現(xiàn)一個在線聊天室

    基于Flask+websocket實現(xiàn)一個在線聊天室

    在今天的互聯(lián)網(wǎng)時代,實時通信成為了許多應用和服務的核心特色,在本文中,我們將介紹如何使用 Flask 和 Websockets 通過 Flask-SocketIO 框架創(chuàng)建一個簡單的在線聊天室,感興趣的可以跟隨小編一起了解下
    2023-09-09
  • 使用Pytest.main()運行時參數(shù)不生效問題解決

    使用Pytest.main()運行時參數(shù)不生效問題解決

    本文主要介紹了使用Pytest.main()運行時參數(shù)不生效問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02

最新評論