Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn)
Pandas merge
pandas.merge()是pandas庫中用于合并兩個(gè)或多個(gè)DataFrame對(duì)象的函數(shù),其常用的參數(shù)有以下幾個(gè):
- left:要合并的左側(cè)DataFrame。
- right:要合并的右側(cè)DataFrame。
- how:指定合并方式,包括‘left’、‘right’、‘outer’和‘inner’四種。
- on:指定按照哪些列進(jìn)行合并,可以是單個(gè)列名或包含多個(gè)列名的列表。
- left_on和right_on:指定左側(cè)和右側(cè)DataFrame中進(jìn)行合并的列名,如果兩個(gè)DataFrame中的列名不同,需要通過這兩個(gè)參數(shù)指定。
- suffixes:指定當(dāng)兩個(gè)DataFrame中有相同列名時(shí),為區(qū)分而添加的后綴。
示例代碼
import pandas as pd # 創(chuàng)建兩個(gè)DataFrame df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]}) df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]}) # 通過key列合并兩個(gè)DataFrame merged = pd.merge(df1, df2, on='key') print(merged)
運(yùn)行結(jié)果:
key value_x value_y
0 B 2 5
1 D 4 6
在這個(gè)例子中,創(chuàng)建了兩個(gè)DataFrame對(duì)象df1和df2,它們都有一個(gè)名為’key’的列。使用pd.merge()函數(shù)將這兩個(gè)DataFrame對(duì)象按照’key’列進(jìn)行合并,并將結(jié)果存儲(chǔ)在merged變量中。最后,輸出了合并后的結(jié)果,其中value_x和value_y分別代表合并前的df1和df2中的’value’列。
保留左邊的DataFram
如果只想考慮左側(cè)的DataFrame對(duì)象,在pandas.merge()函數(shù)中可以設(shè)置how=‘left’參數(shù)來實(shí)現(xiàn)。具體來說,how參數(shù)控制了兩個(gè)DataFrame對(duì)象之間的合并方式,可以取值為’left’、‘right’、‘outer’和’inner’。當(dāng)取值為’left’時(shí),pandas.merge()函數(shù)會(huì)將左側(cè)DataFrame對(duì)象中所有的行保留,并在合并后的DataFrame對(duì)象中添加右側(cè)DataFrame對(duì)象中能夠和左側(cè)DataFrame對(duì)象匹配的行。
下面是一個(gè)示例代碼:
import pandas as pd # 創(chuàng)建兩個(gè)DataFrame df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]}) df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]}) # 只考慮左側(cè)的DataFrame對(duì)象 merged = pd.merge(df1, df2, on='key', how='left') print(merged)
運(yùn)行結(jié)果:
key value_x value_y
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
在這個(gè)例子中,將df1和df2按照’key’列進(jìn)行合并,并將合并方式設(shè)置為’left’。合并結(jié)果中包含了df1中所有的行,因?yàn)橹豢紤]左側(cè)的DataFrame對(duì)象。右側(cè)的DataFrame對(duì)象中’key’列為’E’和’F’的行在合并后的DataFrame對(duì)象中的’value_y’列都是NaN。
到此這篇關(guān)于Pandas merge合并兩個(gè)DataFram的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Pandas merge合并兩個(gè)DataFram內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- pandas數(shù)據(jù)合并與重塑之merge詳解
- Pandas數(shù)據(jù)集的合并與連接merge()方法
- Python?pandas數(shù)據(jù)合并merge函數(shù)用法詳解
- 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)文章
DJANGO-URL反向解析REVERSE實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于DJANGO-URL反向解析REVERSE的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-10-10python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)
這篇文章主要介紹了python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python爬蟲實(shí)現(xiàn)使用beautifulSoup4爬取名言網(wǎng)功能案例
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)使用beautifulSoup4爬取名言網(wǎng)功能,結(jié)合實(shí)例形式分析了Python基于beautifulSoup4模塊爬取名言網(wǎng)并存入MySQL數(shù)據(jù)庫相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Python3訪問并下載網(wǎng)頁內(nèi)容的方法
這篇文章主要介紹了Python3訪問并下載網(wǎng)頁內(nèi)容的方法,實(shí)例分析了Python頁面抓取及寫入文件的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Python實(shí)現(xiàn)希爾伯特變換(Hilbert transform)的示例代碼
希爾伯特變換(Hilbert transform)是一個(gè)對(duì)函數(shù)產(chǎn)生定義域相同的函數(shù)的線性算子,而且希爾伯特變換在信號(hào)處理中很重要,所以本文和大家分享了Python實(shí)現(xiàn)希爾伯特變換的代碼,需要的可以參考一下2023-04-04Python json模塊與jsonpath模塊區(qū)別詳解
這篇文章主要介紹了Python json模塊與jsonpath模塊區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Numpy?數(shù)據(jù)處理?ndarray使用詳解
這篇文章主要為大家介紹了Numpy?數(shù)據(jù)處理?ndarray使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08Python實(shí)現(xiàn)EM算法實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)EM算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10