pandas 表連接的具體實現(xiàn)
在Pandas中,可以使用merge()
函數(shù)來實現(xiàn)類似于SQL中的連接操作。以下是四種基本的連接類型:左連接(left join)、右連接(right join)、內(nèi)連接(inner join)和外連接(outer join)的表格示例解釋。
假設(shè)我們有兩個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)連接返回兩個DataFrame中共有的匹配行。只有當(dāng)兩個DataFrame中都有匹配的行時,才會返回結(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)
外連接返回兩個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 表連接的具體實現(xiàn)的文章就介紹到這了,更多相關(guān)pandas 表連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python破解BiliBili滑塊驗證碼的思路詳解(完美避開人機識別)
這篇文章主要介紹了Python破解BiliBili滑塊驗證碼的思路,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02python 使用get_argument獲取url query參數(shù)
這篇文章主要介紹了python 使用get_argument獲取url query參數(shù)的相關(guān)資料,需要的朋友可以參考下2017-04-04Python實現(xiàn)圖像去噪方式(中值去噪和均值去噪)
今天小編就為大家分享一篇Python實現(xiàn)圖像去噪方式(中值去噪和均值去噪),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python基于回溯法子集樹模板實現(xiàn)圖的遍歷功能示例
這篇文章主要介紹了Python基于回溯法子集樹模板實現(xiàn)圖的遍歷功能,結(jié)合實例形式分析了Python使用回溯法子集樹模板針對圖形遍歷問題的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2017-09-09