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