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

Pandas數(shù)據(jù)合并的兩種實(shí)現(xiàn)方法

 更新時(shí)間:2023年11月26日 10:42:24   作者:GarsonW  
本文主要介紹了Pandas數(shù)據(jù)合并的兩種實(shí)現(xiàn)方法,DataFrame數(shù)據(jù)合并主要使用merge()方法和concat()方法,具有一定的參考價(jià)值,感興趣的可以了解一下

DataFrame數(shù)據(jù)合并主要使用merge()方法和concat()方法。

1.數(shù)據(jù)合并(merge()方法)

Pandas模塊的merge()進(jìn)行數(shù)據(jù)合并時(shí),兩個(gè)DataFrame對(duì)象必須有相同的列。

1.常規(guī)合并

import pandas as pd

df1 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '語文':[110,105,109],
                    '數(shù)學(xué)':[105,88,120],
                    '英語':[99,115,130]})

df2 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '體育':[34.5,39.7,38]})

df_merge=pd.merge(df1,df2,on='編號(hào)')
print(df_merge)

該示例中,編號(hào)是相同的,所以會(huì)將df2中“體育”作為新的一列加入到df1中。 

2.通過索引合并

import pandas as pd

df1 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '語文':[110,105,109],
                    '數(shù)學(xué)':[105,88,120],
                    '英語':[99,115,130]})

df2 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '體育':[34.5,39.7,38]})

df_merge=pd.merge(df1,df2,left_index=True,right_index=True)
print(df_merge)

3.對(duì)合并數(shù)據(jù)去重

使用到how屬性,就是讓df1保留所有的行列數(shù)據(jù),df2則根據(jù)df1的行列進(jìn)行補(bǔ)全。

import pandas as pd

df1 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '語文':[110,105,109],
                    '數(shù)學(xué)':[105,88,120],
                    '英語':[99,115,130]})

df2 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '體育':[34.5,39.7,38]})

df_merge=pd.merge(df1,df2,on='編號(hào)',left_index=True,right_index=True)
print(df_merge)
df_merge=pd.merge(df1,df2,on='編號(hào)',how='left')
print(df_merge)

4.多對(duì)一的數(shù)據(jù)合并

根據(jù)共有列中的數(shù)據(jù)進(jìn)行合并,df2根據(jù)df1的行列進(jìn)行補(bǔ)全。

import pandas as pd

df1 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003'],
                    '學(xué)生姓名':['明日同學(xué)','高猿員','錢多多']})

df2 = pd.DataFrame({'編號(hào)':['mr001','mr001','mr003'],
                    '語文':[110,105,109],
                    '數(shù)學(xué)':[105,88,120],
                    '英語':[99,115,130],
                    '時(shí)間':['1月','2月','1月']})

df_merge=pd.merge(df1,df2,on='編號(hào)')
print(df_merge)

5.多對(duì)多的數(shù)據(jù)合并

根據(jù)共有列中的數(shù)據(jù)進(jìn)行合并,df2,df1相互補(bǔ)全。

import pandas as pd

df1 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003','mr001','mr001'],
                    '體育':[34.5,39.7,38,33,35]})

df2 = pd.DataFrame({'編號(hào)':['mr001','mr002','mr003','mr003','mr003'],
                    '語文':[110,105,109,110,108],
                    '數(shù)學(xué)':[105,88,120,123,119],
                    '英語':[99,115,130,109,128]})

df_merge=pd.merge(df1,df2)
print(df_merge)

2.數(shù)據(jù)合并(concat()方法)

1.相同字段的表首尾相連

dfs = [df1,df2,df3]
result = pd.concat(dfs)

如果需要標(biāo)記源數(shù)據(jù)來自于哪張表,可以使用:

result = pd.concat(dfs, keys=['第一張表','第二張表','第三張表']) 

2.橫向表合并(行對(duì)齊)

用于數(shù)據(jù)列名不一致,缺失的數(shù)據(jù)使用Nan填充 。其中axis=1代表行合并。

result = pd.concat([df1,df4],axis=1)

3.交叉合并

交叉合并需要加上join參數(shù),如值為inner,結(jié)果為兩張表的交集;如果值為outer,結(jié)果為兩張表的并集。 

result = pd.concat([df1,df4],axis=1,join='inner')

4.指定表對(duì)其數(shù)據(jù)(行對(duì)齊)

如果指定參數(shù)join_axes,就可以指定根據(jù)哪張表來對(duì)齊數(shù)據(jù)。如下述代碼,根據(jù)df4表對(duì)其,結(jié)果表的行術(shù)和df4的行術(shù)一致,在此基礎(chǔ)上拼接df1表。

result = pd.concat([df1,df4],axis=1,join_axes[df4.index])

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

相關(guān)文章

  • python中flatten()參數(shù)示例詳解

    python中flatten()參數(shù)示例詳解

    flatten是numpy.ndarray.flatten的一個(gè)函數(shù),即返回一個(gè)一維數(shù)組,這篇文章主要給大家介紹了關(guān)于python中flatten()參數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 淺談DataFrame和SparkSql取值誤區(qū)

    淺談DataFrame和SparkSql取值誤區(qū)

    今天小編就為大家分享一篇淺談DataFrame和SparkSql取值誤區(qū),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN示例詳解

    Python人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN示例詳解

    這篇文章主要為大家介紹了人工智能學(xué)習(xí)PyTorch實(shí)現(xiàn)WGAN的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • Python 連接 MySQL 的幾種方法

    Python 連接 MySQL 的幾種方法

    這篇文章主要介紹了Python 連接 MySQL 的幾種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • python讀取文件夾中圖片的圖片名并寫入excel表格

    python讀取文件夾中圖片的圖片名并寫入excel表格

    這篇文章介紹了使用python讀取文件夾中圖片的圖片名并寫入excel表格的方法。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • Python分析微信好友性別比例和省份城市分布比例的方法示例【基于itchat模塊】

    Python分析微信好友性別比例和省份城市分布比例的方法示例【基于itchat模塊】

    這篇文章主要介紹了Python分析微信好友性別比例和省份城市分布比例的方法,結(jié)合實(shí)例形式分析了Python基于itchat模塊獲取及計(jì)算微信好友相關(guān)信息操作技巧,需要的朋友可以參考下
    2020-05-05
  • pandas group分組與agg聚合的實(shí)例

    pandas group分組與agg聚合的實(shí)例

    這篇文章主要介紹了pandas group分組與agg聚合的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 解決python3 Pycharm上連接數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的問題

    解決python3 Pycharm上連接數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的問題

    今天小編就為大家分享一篇解決python3 Pycharm上連接數(shù)據(jù)庫(kù)時(shí)報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • selenium設(shè)置瀏覽器為headless無頭模式(Chrome和Firefox)

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

    這篇文章主要介紹了selenium設(shè)置瀏覽器為headless無頭模式(Chrome和Firefox),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 一文詳解如何配置Pycharm進(jìn)行遠(yuǎn)程開發(fā)

    一文詳解如何配置Pycharm進(jìn)行遠(yuǎn)程開發(fā)

    在搞深度學(xué)習(xí)的時(shí)候,我們?cè)诒镜亻_發(fā),但是需要在服務(wù)器去運(yùn)行工程,所以需要使用Pycharm進(jìn)行遠(yuǎn)程配置,下面這篇文章主要給大家介紹了關(guān)于如何配置Pycharm進(jìn)行遠(yuǎn)程開發(fā)的相關(guān)資料,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

和顺县| 高淳县| 萍乡市| 梨树县| 梨树县| 霍城县| 营山县| 明溪县| 科尔| 本溪市| 彩票| 乌兰县| 淮滨县| 都安| 南涧| 米林县| 鄄城县| 阿荣旗| 台中市| 马尔康县| 申扎县| 梧州市| 安丘市| 舞钢市| 霍林郭勒市| 宜章县| 定西市| 扎赉特旗| 阿图什市| 山东省| 利津县| 崇阳县| 六枝特区| 大冶市| 临武县| 镇巴县| 宁南县| 五原县| 淮南市| 河曲县| 南皮县|