pandas數(shù)據(jù)合并與重塑之merge詳解
數(shù)據(jù)合并與重塑有merge,join,concat三種方法,本文先對(duì)merge進(jìn)行講解
1.merge參數(shù)概覽
| 參數(shù) | 介紹 |
| how | 連接方式(左連接left,右連接right,內(nèi)連接inner,外連接outer)默認(rèn)內(nèi)連接 |
| on | 用來(lái)做連接鍵的列名(兩表必須相同) |
| left_on | 左表用來(lái)做連接鍵的列名 |
| right_on | 右表用來(lái)做連接鍵的列名 |
| left_index | True表示左表索引列作為連接鍵 |
| right_index | True表示右表索引列作為連接鍵 |
| suffix | 給兩表的列加后綴進(jìn)行區(qū)分 |
2.左右內(nèi)外連接概念講解
pandas中的左右內(nèi)外連接和mysql中的大致相同,學(xué)過(guò)mysql的更容易理解
現(xiàn)在有兩張表:表1和表2
(1)左連接
以表1為準(zhǔn),
將表2中與表1能根據(jù)連接鍵對(duì)應(yīng)的數(shù)據(jù)與表1合并,和表1對(duì)應(yīng)不上的數(shù)據(jù)則丟棄
在此過(guò)程中表1的數(shù)據(jù)是被完全保留下的
(2)右連接
與左連接相反,以表2為準(zhǔn)
將表1中與表2能根據(jù)連接鍵對(duì)應(yīng)的數(shù)據(jù)與表2合并,和表2對(duì)應(yīng)不上的數(shù)據(jù)則丟棄
在此過(guò)程中表2的數(shù)據(jù)是被完全保留下的
(3)內(nèi)連接
將表1和表2中根據(jù)連接鍵對(duì)應(yīng)兩邊都有的數(shù)據(jù)合并
在此過(guò)程中表1只保留了能和表2對(duì)應(yīng)的數(shù)據(jù),表2也只保留下了能和表1對(duì)應(yīng)的數(shù)據(jù),有點(diǎn)類似于數(shù)學(xué)中的交集
(4)外連接
表1和表2的數(shù)據(jù)根據(jù)連接鍵對(duì)應(yīng)合并
在此過(guò)程中表1表2的數(shù)據(jù)全都保留下來(lái),相當(dāng)于數(shù)學(xué)中的并集
3.merge數(shù)據(jù)合并
首先將兩個(gè)表的數(shù)據(jù)進(jìn)行讀取
import pandas as pd adress1="D:/pandas練習(xí)文件/merge1.xlsx" adress2="D:/pandas練習(xí)文件/merge2.xlsx" data1=pd.read_excel(adress1) data2=pd.read_excel(adress2)
(1)當(dāng)兩個(gè)表用來(lái)做連接鍵的列名都相同時(shí)(以左連接為例)
A使用方法:
pd.merge(數(shù)據(jù)1,數(shù)據(jù)2,on=" ",how=" ")
all_data=pd.merge(data1,data2,on="姓名",how="left")
B數(shù)據(jù)合并前后對(duì)比:


(2)當(dāng)兩個(gè)表用來(lái)做連接鍵的列名都不相同時(shí)(本次默認(rèn)內(nèi)連接)
A使用方法
pd.merge(數(shù)據(jù)1,數(shù)據(jù)2,left_on="",right_on="")
all_data=pd.merge(data1,data2,left_on="姓名1",right_on="姓名2")
B數(shù)據(jù)合并前后對(duì)比


總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Pandas數(shù)據(jù)集的合并與連接merge()方法
- Python?pandas數(shù)據(jù)合并merge函數(shù)用法詳解
- Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn)
- Python?Pandas數(shù)據(jù)合并pd.merge用法詳解
- pandas中DataFrame數(shù)據(jù)合并連接(merge、join、concat)
- Pandas 連接合并函數(shù)merge()詳解
- 在Pandas中DataFrame數(shù)據(jù)合并,連接(concat,merge,join)的實(shí)例
- Pandas merge合并操作的實(shí)現(xiàn)
相關(guān)文章
PYQT5實(shí)現(xiàn)控制臺(tái)顯示功能的方法
今天小編大家分享一篇PYQT5實(shí)現(xiàn)控制臺(tái)顯示功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
使用Python編寫(xiě)一個(gè)模仿CPU工作的程序
這篇文章主要介紹了使用Python編寫(xiě)一個(gè)模仿CPU工作的程序,包括簡(jiǎn)單的內(nèi)存和輸入輸出的實(shí)現(xiàn),本文中的例子需要一定的Python編程基礎(chǔ),是深入Python的實(shí)踐,需要的朋友可以參考下2015-04-04
爬蟲(chóng)訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像
這篇文章主要為大家介紹了爬蟲(chóng)訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
python 普通克里金(Kriging)法的實(shí)現(xiàn)
這篇文章主要介紹了python 普通克里金(Kriging)法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
詳解Python中的內(nèi)建函數(shù),可迭代對(duì)象,迭代器
這篇文章主要介紹了Python內(nèi)建函數(shù),可迭代對(duì)象,迭代器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
python編程-將Python程序轉(zhuǎn)化為可執(zhí)行程序[整理]
python編程-將Python程序轉(zhuǎn)化為可執(zhí)行程序[整理]...2007-04-04
python Web開(kāi)發(fā)你要理解的WSGI & uwsgi詳解
這篇文章主要給大家介紹了關(guān)于python Web開(kāi)發(fā)你一定要理解的WSGI & uwsgi的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
在python代碼中加入環(huán)境變量的語(yǔ)句操作
這篇文章主要介紹了在python代碼中加入環(huán)境變量的語(yǔ)句操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
PyTorch使用GPU加速計(jì)算的實(shí)現(xiàn)
PyTorch利用NVIDIA CUDA庫(kù)提供的底層接口來(lái)實(shí)現(xiàn)GPU加速計(jì)算,本文就來(lái)介紹一下PyTorch使用GPU加速計(jì)算的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02

