[英]Intersect two dataframes in Pandas with respect to first dataframe?
我想根據兩個數據幀中存在的兩列(A 和 B)相交兩個 Pandas 數據幀(1 和 2)。 但是,我想返回一個 dataframe,它僅包含與第一個 dataframe 中的數據相關的數據,省略在第二個 Z6A8064B5DF479455500553C47C50DZ 中找不到的任何內容。
例如:
Dataframe 1:
A | B | Extra | Columns | In | 1 |
----------------------------------
1 | 2 | Extra | Columns | In | 1 |
1 | 3 | Extra | Columns | In | 1 |
1 | 5 | Extra | Columns | In | 1 |
Dataframe 2:
A | B | Extra | Columns | In | 2 |
----------------------------------
1 | 3 | Extra | Columns | In | 2 |
1 | 4 | Extra | Columns | In | 2 |
1 | 5 | Extra | Columns | In | 2 |
應該返回:
A | B | Extra | Columns | In | 1 |
----------------------------------
1 | 3 | Extra | Columns | In | 1 |
1 | 5 | Extra | Columns | In | 1 |
有沒有辦法我可以簡單地做到這一點?
您可以使用df.merge
:
df = df1.merge(df2, on=['A','B'], how='inner').drop('2', axis=1)
how='inner'
是默認值。 把它放在那里是為了讓您了解df.merge
的工作原理。
正如@piRSquared 建議的那樣,您可以這樣做:
df1.merge(df2[['A', 'B']], how='inner')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.