簡體   English   中英

與第一個 dataframe 相交 Pandas 中的兩個數據幀?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM