pandas 表連接的具體實(shí)現(xiàn)
在Pandas中,可以使用merge()函數(shù)來(lái)實(shí)現(xiàn)類似于SQL中的連接操作。以下是四種基本的連接類型:左連接(left join)、右連接(right join)、內(nèi)連接(inner join)和外連接(outer join)的表格示例解釋。
假設(shè)我們有兩個(gè)DataFrame:df1 和 df2。
import pandas as pd
# 創(chuàng)建示例DataFrame
df1 = pd.DataFrame({
'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]
})
df2 = pd.DataFrame({
'key': ['B', 'D', 'E', 'F'],
'value2': [5, 6, 7, 8]
})
1. 左連接(Left Join)
左連接返回左DataFrame(df1)的所有行,即使右DataFrame(df2)中沒有匹配的行。如果右DataFrame中有匹配的行,則返回匹配的值,否則返回NaN。
result_left = pd.merge(df1, df2, on='key', how='left') print(result_left)
輸出結(jié)果:
key value1 value2
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
2. 右連接(Right Join)
右連接返回右DataFrame(df2)的所有行,即使左DataFrame(df1)中沒有匹配的行。如果左DataFrame中有匹配的行,則返回匹配的值,否則返回NaN。
result_right = pd.merge(df1, df2, on='key', how='right') print(result_right)
輸出結(jié)果:
key value1 value2
0 B 2 5.0
1 D 4 6.0
2 E NaN 7.0
3 F NaN 8.0
3. 內(nèi)連接(Inner Join)
內(nèi)連接返回兩個(gè)DataFrame中共有的匹配行。只有當(dāng)兩個(gè)DataFrame中都有匹配的行時(shí),才會(huì)返回結(jié)果。
result_inner = pd.merge(df1, df2, on='key', how='inner') print(result_inner)
輸出結(jié)果:
key value1 value2
0 B 2 5.0
1 D 4 6.0
4. 外連接(Outer Join)
外連接返回兩個(gè)DataFrame中的所有行。如果某一側(cè)沒有匹配的行,則該側(cè)的值將被設(shè)置為NaN。
result_outer = pd.merge(df1, df2, on='key', how='outer') print(result_outer)
輸出結(jié)果:
key value1 value2
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
4 E NaN 7.0
5 F NaN 8.0
到此這篇關(guān)于pandas 表連接的具體實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pandas 表連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python操作手機(jī)app的實(shí)現(xiàn)步驟
本文主要介紹了python操作手機(jī)app的實(shí)現(xiàn)步驟,本文將結(jié)合實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07
jupyter notebook插入本地圖片的實(shí)現(xiàn)
這篇文章主要介紹了jupyter notebook插入本地圖片的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-04-04
基于python?的日志文件分析器實(shí)戰(zhàn)指南
日志文件分析器是一個(gè)基于?Flask?的?Web?應(yīng)用程序,提供日志文件的智能解析和分析功能,本文給大家介紹了基于python?的日志文件分析器,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2026-05-05
Tensor 和 NumPy 相互轉(zhuǎn)換的實(shí)現(xiàn)
本文主要介紹了Tensor 和 NumPy 相互轉(zhuǎn)換的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python?OpenCV超詳細(xì)講解讀取圖像視頻和網(wǎng)絡(luò)攝像頭
OpenCV用C++語(yǔ)言編寫,它具有C?++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac?OS,OpenCV主要傾向于實(shí)時(shí)視覺應(yīng)用,并在可用時(shí)利用MMX和SSE指令,本篇文章帶你了解OpenCV讀取圖像視頻與網(wǎng)絡(luò)攝像頭的方法2022-04-04
Python多任務(wù)版靜態(tài)Web服務(wù)器實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Python靜態(tài)Web服務(wù)器多任務(wù)版實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06

