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

pandas數(shù)據(jù)的合并concat()和merge()方式

 更新時間:2025年08月02日 14:57:16   作者:藍小白1024  
Pandas中concat沿軸合并數(shù)據(jù)框(行或列),merge基于鍵連接(內(nèi)/外/左/右),concat用于縱向或橫向拼接,merge用于關(guān)聯(lián)數(shù)據(jù),如合并訂單與客戶信息
import pandas as pd
  • 軸向連接(concatenation): pd.concat() 可以沿一個軸將多個DataFrame對象連接在一起, 形成一個新的Dataframe對象
  • 融合(merging):pd.merge()方法可以根據(jù)一個或多個鍵將不同DataFrame中的行連接起來。

concat() 軸向連接

concat() 函數(shù)可以將數(shù)據(jù)根據(jù)不同的軸作進行合并

pd.concat(objs, axis=0, join='outer')
  • objs: series、dataframe或者是panel構(gòu)成的序列l(wèi)ist
  • axis: 需要合并鏈接的軸,0是行,1是列,默認是0
  • join:連接的方式 inner,或者outer,默認是outer

準(zhǔn)備數(shù)據(jù)

dict1={
    'A': ['A0', 'A1', 'A2', 'A3'],
    'B': ['B0', 'B1', 'B2', 'B3'],
    'C': ['C0', 'C1', 'C2', 'C3']}
df1=pd.DataFrame(dict1)
print(df1)

dict2={
    'B': ['B0', 'B1', 'B2', 'B3'],
    'C': ['C0', 'C1', 'C2', 'C3'],
    'D': ['D0', 'D1', 'D2', 'D3']}
df2=pd.DataFrame(dict2)
print(df2)

合并

join的值 inner ,得到的是兩表的交集,如果是outer,得到的是兩表的并集

(1) join='outer',axis=0

  • 當(dāng)join=‘outer’,axis參數(shù)為0時,列進行并集處理,縱向表拼接,缺失值由NaN填充,并且會保留原有數(shù)據(jù)的行索引
pd.concat([df1, df2], axis=0, join='outer', sort=True) # 我沒加 sort=True 會報一個警告

ABCD
0A0B0C0NaN
1A1B1C1NaN
2A2B2C2NaN
3A3B3C3NaN
0NaNB0C0D0
1NaNB1C1D1
2NaNB2C2D2
3NaNB3C3D3
  • 如果兩個表的index都沒有實際含義, 使用ignore_index參數(shù)置為 true, 重新生成一個新的index
pd.concat([df1,df2],axis=0,join='outer',ignore_index=True, sort=True) # 我沒加 sort=True 會報一個警告
ABCD
0A0B0C0NaN
1A1B1C1NaN
2A2B2C2NaN
3A3B3C3NaN
4NaNB0C0D0
5NaNB1C1D1
6NaNB2C2D2
7NaNB3C3D3

(2)join='outer',axis=1

  • 當(dāng)join=‘outer’,axis參數(shù)為1時,行進行并集處理,橫向表拼接,缺失值由NaN填充

pd.concat([df1,df2],axis=1,join='outer', sort=True) # 我沒加 sort=True 會報一個警告
ABCBCD
0A0B0C0B0C0D0
1A1B1C1B1C1D1
2A2B2C2B2C2D2
3A3B3C3B3C3D3

(3) join=inner, axis=0

pd.concat([df1,df2],axis=0,join='inner',ignore_index=True)

BC
0B0C0
1B1C1
2B2C2
3B3C3
4B0C0
5B1C1
6B2C2
7B3C3

merge() 融合

merge(left, right, how='inner', on=None)

參數(shù)介紹

  • left和right, 兩個要合并的DataFrame(對應(yīng)的左連接和右連接)
  • how: 連接的方式, 有inner(內(nèi)連接)、left(左連接)、right(右連接)、outer(外連接), 默認為 inner
  • on: 指的是用于連接的列索引名稱, 必須存在于左右兩個DataFrame中, 如果沒有指定且其他參數(shù)也沒有指定,則兩個DataFrame列名交集作為連接鍵
import pandas as pd
left = pd.DataFrame({'key':['a','b','b','d'],'data1':range(4)})
print(left)

right = pd.DataFrame({'key':['a','b','c'],'data2':range(3)})
print(right)
  key  data1
0   a      0
1   b      1
2   b      2
3   d      3
  key  data2
0   a      0
1   b      1
2   c      2

inner(內(nèi)連接)

  • merge()默認做inner連接,并且使用兩個DataFrame的列名交集(key)作為連接鍵,同樣,最終連接的數(shù)據(jù)也是兩個DataFramekey列數(shù)據(jù)的交集

pd.merge(left,right)
keydata1data2
0a00
1b11
2b21

outer (外連接)

  • 當(dāng)merge()做outer連接時最終連接的數(shù)據(jù)是兩個DataFramekey列數(shù)據(jù)的并集,缺失的內(nèi)容由NaN填充
pd.merge(left,right,on=['key'],how='outer')

keydata1data2
0a0.00.0
1b1.01.0
2b2.01.0
3d3.0NaN
4cNaN2.0

left(左連接)

  • 當(dāng)merge()做left連接時,最終連接的數(shù)據(jù)將以left數(shù)據(jù)的鏈接建為準(zhǔn)合并兩個數(shù)據(jù)的列數(shù)據(jù),缺失的內(nèi)容由NaN填充

pd.merge(left,right,on=['key'],how='left')
keydata1data2
0a00.0
1b11.0
2b21.0
3d3NaN

right (右連接)

  • 當(dāng)merge()做right連接時,最終連接的數(shù)據(jù)將以right數(shù)據(jù)的鏈接建為準(zhǔn)合并兩個數(shù)據(jù)的列數(shù)據(jù),缺失的內(nèi)容由NaN填充
pd.merge(left,right,on=['key'],how='right')
keydata1data2
0a0.00
1b1.01
2b2.01
3cNaN2

應(yīng)用場景

例如:

  • 現(xiàn)在有兩張表格分別存儲了9月和10月份的成交信息,
  • 那么這個時候我們就可以使用concat( )將兩個表沿著0軸合并

例如:

  • 現(xiàn)在有兩張表格,一個是成交信息,包含訂單號、金額、客戶ID等信息;
  • 第二個是客戶信息,包含客戶ID、姓名、電話號等信息,那么這個時候我們就可以使用merge()根據(jù)客戶ID將兩個表合并成一個完整的表

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中去掉字段中的空格的常用方法

    Python中去掉字段中的空格的常用方法

    在 Python 中,去掉字符串中的空格主要取決于你想去掉所有的空格(變成 8Gbps),還是僅去掉首尾的空格(變成 32 Gbps),或者是把空格換成下劃線(變成 8_Gbps),本文給大家匯總了Python中去掉字段中的空格的常用方法,需要的朋友可以參考下
    2025-12-12
  • python簡單實現(xiàn)獲取當(dāng)前時間

    python簡單實現(xiàn)獲取當(dāng)前時間

    最近項目中經(jīng)常需要python去取當(dāng)前的時間,雖然不是很難,但是老是忘記,用一次丟一次,為了能夠更好的記住,我今天特意寫下python 當(dāng)前時間這篇文章,如果你覺的對你有用的話,可以收藏下。
    2016-08-08
  • python實現(xiàn)整數(shù)序列求和

    python實現(xiàn)整數(shù)序列求和

    這篇文章主要介紹了python實現(xiàn)整數(shù)序列求和,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • python3中sorted函數(shù)里cmp參數(shù)改變詳解

    python3中sorted函數(shù)里cmp參數(shù)改變詳解

    在本篇文章里小編給大家整理的是關(guān)于python3中sorted函數(shù)里關(guān)于cmp這一參數(shù)的改變相關(guān)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-03-03
  • Django CSRF認證的幾種解決方案

    Django CSRF認證的幾種解決方案

    這篇文章主要介紹了Django CSRF認證的幾種解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 使用Python批量將Word轉(zhuǎn)PDF的實現(xiàn)技巧

    使用Python批量將Word轉(zhuǎn)PDF的實現(xiàn)技巧

    我們在實際工作中很容易發(fā)現(xiàn),有些時候我們需要將Word文檔轉(zhuǎn)換為PDF文檔,如果只是一個文件,我們也只是需要通過Word提供的轉(zhuǎn)換為PDF文檔的功能就可以實現(xiàn)了,那么多個文檔如何實現(xiàn)呢,所以本文給大家介紹了Python批量將Word轉(zhuǎn)PDF的實現(xiàn)技巧,需要的朋友可以參考下
    2025-08-08
  • Python可視化tkinter詳解

    Python可視化tkinter詳解

    這篇文章主要介紹了Python可視化tkinter詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • python anaconda 安裝 環(huán)境變量 升級 以及特殊庫安裝的方法

    python anaconda 安裝 環(huán)境變量 升級 以及特殊庫安裝的方法

    下面小編就為大家?guī)硪黄猵ython anaconda 安裝 環(huán)境變量 升級 以及特殊庫安裝的方法。
    2017-06-06
  • Pyecharts地圖顯示不完成問題解決方案

    Pyecharts地圖顯示不完成問題解決方案

    這篇文章主要介紹了Pyecharts地圖顯示不完成問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • pycharm修改界面主題顏色的方法

    pycharm修改界面主題顏色的方法

    今天小編就為大家分享一篇pycharm修改界面主題顏色的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論

洛宁县| 霸州市| 罗江县| 财经| 错那县| 江陵县| 辽阳市| 沛县| 越西县| 嵊州市| 延川县| 滨州市| 普宁市| 子长县| 喀喇| 泰兴市| 兴义市| 永州市| 澄江县| 密云县| 水城县| 察哈| 凤凰县| 宜黄县| 延吉市| 黄浦区| 栾城县| 大渡口区| 临桂县| 蛟河市| 万州区| 车致| 腾冲县| 岢岚县| 渝中区| 滦南县| 封丘县| 六盘水市| 西林县| 天气| 保亭|