繁体   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