![](/img/trans.png)
[英]How to join 2 tables with getting all rows from left table and only matching ones in right
[英]How to join data frames with keeping only matching ones?
我有兩個數據框:
id value
a1 12
a2 15
a3 17
id value1
a1 22
a2 58
a7 10
我想通過列 id 加入它們,只保留匹配的一個:
id value value1
a1 12 22
a2 15 58
怎么做? 我試過 pd.merge 但它保留了所有 id
您可以使用pd.merge
和inner
:
數據框示例
df1 = pd.DataFrame({'id':['a1','a2', 'a3'],
'value':[12, 15, 17]})
df2 = pd.DataFrame({'id':['a1','a2', 'a7'],
'value':[22, 58, 10]})
代碼
merged_df = df1.merge(df2, how = 'inner', on = ['id'])
merged_df.columns = ["id", "value", "value1"]
結果
id value value1
0 a1 12 22
1 a2 15 58
如果要將 index 更改為id ,可以使用pd.set_index('id')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.