亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python Pandas中合并數(shù)據(jù)的5個(gè)函數(shù)使用詳解

 更新時(shí)間:2022年05月07日 10:35:47   作者:黃偉呢  
數(shù)據(jù)合并是數(shù)據(jù)處理過(guò)程中的必經(jīng)環(huán)節(jié),pandas作為數(shù)據(jù)分析的利器,提供了五種常用的數(shù)據(jù)合并方式,讓我們看看如何使用這些方法吧!

前幾天在一個(gè)群里面,看到一位朋友,說(shuō)到自己的阿里面試,被問(wèn)了一些關(guān)于pandas的使用。其中一個(gè)問(wèn)題是:pandas中合并數(shù)據(jù)的5中方法

今天借著這個(gè)機(jī)會(huì),就為大家盤點(diǎn)一下pandas中合并數(shù)據(jù)的5個(gè)函數(shù)。但是對(duì)于每個(gè)函數(shù),我這里不打算詳細(xì)說(shuō)明,具體用法大家可以參考pandas官當(dāng)文檔。

  • join主要用于基于索引的橫向合并拼接;
  • merge主要用于基于指定列的橫向合并拼接;
  • concat可用于橫向和縱向合并拼接;
  • append主要用于縱向追加;
  • combine可以通過(guò)使用函數(shù),把兩個(gè)DataFrame按列進(jìn)行組合。

join

join是基于索引的橫向拼接,如果索引一致,直接橫向拼接。如果索引不一致,則會(huì)用Nan值填充。

索引一致

x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                    index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                      'D': ['D0', 'D2', 'D3']},
                    index=[0, 1, 2])
x.join(y)

結(jié)果如下:

圖片

索引不一致

x = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
                     'B': ['B0', 'B1', 'B2']},
                    index=[0, 1, 2])
y = pd.DataFrame({'C': ['C0', 'C2', 'C3'],
                      'D': ['D0', 'D2', 'D3']},
                    index=[1, 2, 3])
x.join(y)

結(jié)果如下:

圖片

merge

merge是基于指定列的橫向拼接,該函數(shù)類似于關(guān)系型數(shù)據(jù)庫(kù)的連接方式,可以根據(jù)一個(gè)或多個(gè)鍵將不同的DatFrame連接起來(lái)。該函數(shù)的典型應(yīng)用場(chǎng)景是,針對(duì)同一個(gè)主鍵存在兩張不同字段的表,根據(jù)主鍵整合到一張表里面。

可以指定不同的how參數(shù),表示連接方式,有inner內(nèi)連、left左連、right右連、outer全連,默認(rèn)為inner;

x = pd.DataFrame({'姓名': ['張三', '李四', '王五'],
                     '班級(jí)': ['一班', '二班', '三班']})
y = pd.DataFrame({'專業(yè)': ['統(tǒng)計(jì)學(xué)', '計(jì)算機(jī)', '繪畫'],
                      '班級(jí)': ['一班', '三班', '四班']})

pd.merge(x,y,how="left")

結(jié)果如下:

圖片

concat

concat函數(shù)既可以用于橫向拼接,也可以用于縱向拼接。

縱向拼接

x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
z = pd.concat([x,y],axis=0)
z

結(jié)果如下:

圖片

橫向拼接

x = pd.DataFrame({'姓名': ['張三', '李四', '王五'],
                     '班級(jí)': ['一班', '二班', '三班']})
y = pd.DataFrame({'專業(yè)': ['統(tǒng)計(jì)學(xué)', '計(jì)算機(jī)', '繪畫'],
                      '班級(jí)': ['一班', '三班', '四班']})
z = pd.concat([x,y],axis=1)
z

結(jié)果如下:

圖片

append

append主要用于縱向追加數(shù)據(jù)。

x = pd.DataFrame([['Jack','M',40],['Tony','M',20]], columns=['name','gender','age'])
y = pd.DataFrame([['Mary','F',30],['Bob','M',25]], columns=['name','gender','age'])
x.append(y)

結(jié)果如下:

圖片

combine

conbine可以通過(guò)使用函數(shù),把兩個(gè)DataFrame按列進(jìn)行組合。

x = pd.DataFrame({"A":[3,4],"B":[1,4]})
y = pd.DataFrame({"A":[1,2],"B":[5,6]})
x.combine(y,lambda a,b:np.where(a>b,a,b))

結(jié)果如下:

圖片

注:上述函數(shù),用于返回對(duì)應(yīng)位置上的最大值。

到此這篇關(guān)于Python Pandas中合并數(shù)據(jù)的5個(gè)函數(shù)使用詳解的文章就介紹到這了,更多相關(guān)Python Pandas合并數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python稀疏矩陣及參數(shù)保存代碼實(shí)現(xiàn)

    Python稀疏矩陣及參數(shù)保存代碼實(shí)現(xiàn)

    這篇文章主要介紹了Python稀疏矩陣及參數(shù)保存代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 淺析Windows 嵌入python解釋器的過(guò)程

    淺析Windows 嵌入python解釋器的過(guò)程

    這篇文章主要介紹了Windows 嵌入python解釋器的過(guò)程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用python寫的opencv實(shí)時(shí)監(jiān)測(cè)和解析二維碼和條形碼

    使用python寫的opencv實(shí)時(shí)監(jiān)測(cè)和解析二維碼和條形碼

    這篇文章主要介紹了使用python寫的opencv實(shí)時(shí)監(jiān)測(cè)和解析二維碼和條形碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • tensorflow2.0教程之Keras快速入門

    tensorflow2.0教程之Keras快速入門

    這篇文章主要介紹了tensorflow2.0教程之Keras快速入門,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • selenium設(shè)置瀏覽器為headless無(wú)頭模式(Chrome和Firefox)

    selenium設(shè)置瀏覽器為headless無(wú)頭模式(Chrome和Firefox)

    這篇文章主要介紹了selenium設(shè)置瀏覽器為headless無(wú)頭模式(Chrome和Firefox),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python實(shí)現(xiàn)的多項(xiàng)式擬合功能示例【基于matplotlib】

    Python實(shí)現(xiàn)的多項(xiàng)式擬合功能示例【基于matplotlib】

    這篇文章主要介紹了Python實(shí)現(xiàn)的多項(xiàng)式擬合功能,結(jié)合實(shí)例形式分析了Python基于matplotlib模塊進(jìn)行數(shù)值運(yùn)算與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • Python數(shù)據(jù)可視化之用Matplotlib繪制常用圖形

    Python數(shù)據(jù)可視化之用Matplotlib繪制常用圖形

    Matplotlib能夠繪制折線圖、散點(diǎn)圖、柱狀圖、直方圖、餅圖. 我們需要知道不同的統(tǒng)計(jì)圖的意義,以此來(lái)決定選擇哪種統(tǒng)計(jì)圖來(lái)呈現(xiàn)我們的數(shù)據(jù),今天就帶大家詳細(xì)了解如何繪制這些常用圖形,需要的朋友可以參考下
    2021-06-06
  • 解決keras使用cov1D函數(shù)的輸入問(wèn)題

    解決keras使用cov1D函數(shù)的輸入問(wèn)題

    這篇文章主要介紹了解決keras使用cov1D函數(shù)的輸入問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn)

    Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn)

    大家好,本篇文章主要講的是Python實(shí)現(xiàn)簡(jiǎn)單圖像縮放與旋轉(zhuǎn),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • python去除空格和換行符的實(shí)現(xiàn)方法(推薦)

    python去除空格和換行符的實(shí)現(xiàn)方法(推薦)

    下面小編就為大家?guī)?lái)一篇python去除空格和換行符的實(shí)現(xiàn)方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01

最新評(píng)論