国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了Python-pandas:數(shù)據(jù)合并merge函數(shù)用法詳解。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、語法格式

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

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

二、舉例解釋

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

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

生成的兩個(gè)DataFrame對象如下:

python merge函數(shù),Pandas,pandas,python,數(shù)據(jù)分析

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

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

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

2、參數(shù)how:

當(dāng)參數(shù)how='left':僅使用左側(cè)frame的鍵;
當(dāng)參數(shù)how='right':僅使用右側(cè)frame的鍵;
當(dāng)參數(shù)how='outer':使用左右兩側(cè)frame的鍵的并集;
當(dāng)參數(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)

python merge函數(shù),Pandas,pandas,python,數(shù)據(jù)分析

4、參數(shù)indicator:

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

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

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

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

python merge函數(shù),Pandas,pandas,python,數(shù)據(jù)分析

?6、參數(shù)suffixes:

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

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

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

<原創(chuàng)內(nèi)容,引用請注明出處>文章來源地址http://www.zghlxwxcb.cn/news/detail-557667.html

到了這里,關(guān)于Python-pandas:數(shù)據(jù)合并merge函數(shù)用法詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Pandas 入門-2】增加,刪除與合并數(shù)據(jù) concat, merge

    1.3.1 增加數(shù)據(jù) 在原數(shù)據(jù)末尾增加一列時(shí),語法為 df[‘新列名\\\'] = 某個(gè)值或某個(gè)元素個(gè)數(shù)與 DataFrame 列數(shù)相同的列表 ,例如: 姓名 統(tǒng)計(jì)學(xué) 高數(shù) 英語 計(jì)算機(jī) 0 張三 95 82 84 92 1 趙四 100 90 89 69 2 王五 88 88 78 75 在原數(shù)據(jù)末尾增加一行數(shù)據(jù)時(shí),比較簡單的方式是用 loc 函數(shù), df.loc[行

    2024年02月13日
    瀏覽(15)
  • python-pandas庫

    python-pandas庫

    目錄 目錄 目錄 1.pandas庫簡介(https://www.gairuo.com/p/pandas-overview) 2.pandas庫read_csv方法(https://zhuanlan.zhihu.com/p/340441922?utm_medium=socialutm_oi=27819925045248) 1.pandas庫簡介(https://www.gairuo.com/p/pandas-overview) 用途: ??? Pandas 可以用來進(jìn)來各種表格數(shù)據(jù)處理,實(shí)現(xiàn)復(fù)雜的處理邏輯,這些

    2024年02月02日
    瀏覽(25)
  • 【python】數(shù)據(jù)可視化,使用pandas.merge()對dataframe和geopandas類型數(shù)據(jù)進(jìn)行數(shù)據(jù)對齊

    【python】數(shù)據(jù)可視化,使用pandas.merge()對dataframe和geopandas類型數(shù)據(jù)進(jìn)行數(shù)據(jù)對齊

    目錄 0.環(huán)境 1.適用場景 2.pandas.merge()函數(shù)詳細(xì)介紹 3.名詞解釋“數(shù)據(jù)對齊”(來自chatGPT3.5) 4.本文將給出兩種數(shù)據(jù)對齊的例子 1)dataframe類型數(shù)據(jù)和dataframe類型數(shù)據(jù)對齊(對齊NAME列); 數(shù)據(jù)對齊前的兩組數(shù)據(jù)集: 數(shù)據(jù)對齊后的數(shù)據(jù)集(通過pandas.merge()函數(shù)對齊): 代碼 2)

    2024年02月09日
    瀏覽(40)
  • 極速系列03—python進(jìn)行數(shù)據(jù)合并(concat/merge)

    極速系列03—python進(jìn)行數(shù)據(jù)合并(concat/merge)

    兩個(gè)表中的數(shù)據(jù),要根據(jù)段,進(jìn)行合并。 在Excel中可以使用vlookup的方式,在python中可以使用concat或者是merge的方法。 pd.concat 函數(shù) 拼接的對象可以是series,還可以是dataframe 拼接對象的個(gè)數(shù)不受限 axis 控制拼接方向(既支持上下拼接,也支持左右拼接) 左右拼接 axis=1,

    2024年02月09日
    瀏覽(19)
  • Python中Pandas庫提供的函數(shù)——pd.DataFrame的基本用法

    pd.DataFrame 是 Pandas 庫中的一個(gè)類,用于創(chuàng)建和操作數(shù)據(jù)框(DataFrame)。DataFrame 是 Pandas 的核心數(shù)據(jù)結(jié)構(gòu),用于以表格形式和處理數(shù)據(jù),類似提供電子表格或數(shù)據(jù)庫表格。類了創(chuàng)建 pd.DataFrame 數(shù)據(jù)框、訪問數(shù)據(jù)、進(jìn)行數(shù)據(jù)操作和分析的方法和屬性。 表格形式 :DataFrame是一個(gè)二維

    2024年02月05日
    瀏覽(30)
  • Python 教學(xué) | Pandas 數(shù)據(jù)合并(含目錄文件合并案例)

    Python 教學(xué) | Pandas 數(shù)據(jù)合并(含目錄文件合并案例)

    目錄 Part? 1前言 Part2? Pandas 數(shù)據(jù)合并函數(shù) 1? df.append() 實(shí)現(xiàn)數(shù)據(jù)追加 (1)向表中追加相同結(jié)構(gòu)的表 (2)向表中追加不同結(jié)構(gòu)的表 (3)向數(shù)據(jù)中添加一行 2? pd.concat() 實(shí)現(xiàn)數(shù)據(jù)連接 (1)多個(gè)相同結(jié)構(gòu)數(shù)據(jù)縱向合并 (2)多個(gè)結(jié)構(gòu)不同的數(shù)據(jù)縱向合并 (3)多個(gè)數(shù)據(jù)橫向合并

    2024年01月17日
    瀏覽(27)
  • 利用Python進(jìn)行數(shù)據(jù)清洗與預(yù)處理:Pandas的高級(jí)用法【第147篇—Pandas的高級(jí)用法】

    利用Python進(jìn)行數(shù)據(jù)清洗與預(yù)處理:Pandas的高級(jí)用法【第147篇—Pandas的高級(jí)用法】

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。【點(diǎn)擊進(jìn)入巨牛的人工智能學(xué)習(xí)網(wǎng)站】。 在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域,數(shù)據(jù)清洗和預(yù)處理是至關(guān)重要的步驟。Pandas庫作為Python中最受歡迎的數(shù)據(jù)處理工具之一,提供了強(qiáng)大的功能來處

    2024年04月09日
    瀏覽(35)
  • pd.merge()函數(shù)的使用(Python數(shù)據(jù)科學(xué)手冊)

    pd.merge()函數(shù)的使用(Python數(shù)據(jù)科學(xué)手冊)

    left:參與合并的左側(cè)的dataframe right:參與合并的右側(cè)的dataframe how:連接方式 on:用于連接的列索引的名稱,必須存在于左右的兩個(gè)dataframe中,如果沒有指定其他的 且其他的參數(shù)也沒有指定,則以兩個(gè)dataframe列名交集作為連接鍵 left_on:左側(cè)dataframe中用于連接鍵的列名,這個(gè)

    2024年02月06日
    瀏覽(17)
  • 【C++】STL 算法 - 排序算法 ( 合并排序算法 - merge 函數(shù) | 隨機(jī)排序算法 - random_shuffle 函數(shù) | 反轉(zhuǎn)序列算法 - reverse 函數(shù) )

    【C++】STL 算法 - 排序算法 ( 合并排序算法 - merge 函數(shù) | 隨機(jī)排序算法 - random_shuffle 函數(shù) | 反轉(zhuǎn)序列算法 - reverse 函數(shù) )

    在 C++ 語言 的 標(biāo)準(zhǔn)模板庫 ( STL , STL Standard Template Library ) 中 , 提供了 merge 合并排序算法函數(shù) 用于 將 兩個(gè)已排序好的容器 合并成一個(gè)新的已排序的容器 ; merge 合并排序算法 函數(shù)原型 如下 : 參數(shù)解析 : InputIterator1 first1 參數(shù) : 有序 輸入 容器 1 的 迭代器范圍 的 起始迭代器 (

    2024年01月18日
    瀏覽(28)
  • pandas之a(chǎn)pply函數(shù)簡介及用法詳解

    pandas之a(chǎn)pply函數(shù)簡介及用法詳解

    ? Pandas 的 apply() 方法是用來調(diào)用一個(gè)函數(shù)(Python method),讓此函數(shù)對數(shù)據(jù)對象進(jìn)行批量處理。Pandas 的很多對象都可以使用 apply() 來調(diào)用函數(shù),如 Dataframe、Series、分組對象、各種時(shí)間序列等。 ? apply() 使用時(shí),通常放入一個(gè) lambda 函數(shù)表達(dá)式、或一個(gè)函數(shù)作為操作運(yùn)算,官方上

    2024年02月03日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包