简体   繁体   English

如何加入数据框而只保留匹配的数据框?

[英]How to join data frames with keeping only matching ones?

I have two dataframes:我有两个数据框:

id   value
a1   12
a2   15
a3   17
id   value1
a1   22
a2   58
a7   10

I want to join them by column id keeping only matching one:我想通过列 id 加入它们,只保留匹配的一个:

id   value    value1
a1    12       22
a2    15       58

How to do that?怎么做? I tried pd.merge but it keeps all id我试过 pd.merge 但它保留了所有 id

You can use pd.merge and inner :您可以使用pd.mergeinner

Example of dataframe数据框示例

df1 = pd.DataFrame({'id':['a1','a2', 'a3'],
                    'value':[12, 15, 17]})

df2 = pd.DataFrame({'id':['a1','a2', 'a7'],
                    'value':[22, 58, 10]})

code代码

merged_df = df1.merge(df2, how = 'inner', on = ['id'])
merged_df.columns = ["id", "value", "value1"]

Result结果

   id  value  value1
0  a1     12      22
1  a2     15      58

If you want to change index as id , you can use pd.set_index('id')如果要将 index 更改为id ,可以使用pd.set_index('id')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM