![](/img/trans.png)
[英]How to map values in a column to two other column of another dataframe and extract matching values on both columns?
[英]How to copy a column from a pandas dataframe to another while matching values of common columns in both?
我有以下 2 個 dfs。 我想將 df2 的列 C 復制到 df1 的列 C,其中 df1 的 A 和 B 列與 df2 的 A 和 B 列匹配。
df1
A B C F G ...
1 12 NaN 52 50
2 14 NaN 62 60
3 15 NaN 72 70
2 14 NaN 82 80
df2
A B C D E ...
2 14 0 abc xyz
3 15 1 efg pqr
1 12 1 hij stu
現在我希望我的 df1 看起來像:
df1
A B C F G ...
1 12 1 52 50
2 14 0 62 60
3 15 1 72 70
2 14 0 82 80
如何在 pandas 中實現這一點? 任何幫助,將不勝感激。
First remove column C
, then DataFrame.merge
with left join only by filtered columns - A
, B
columns are for join and C
is new added columns, last reorder columns by original df1
with DataFrame.reindex
:
df = (df1.drop('C', 1)
.merge(df2[['A','B', 'C']], on=['A','B'], how='left')
.reindex(columns=df1.columns))
print (df)
A B C F G
0 1 12 1 52 50
1 2 14 0 62 60
2 3 15 1 72 70
3 2 14 0 82 80
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.