2017-12-14 12 views
-1

私は2つのデータフレームdf1とdf2を持っています。pandasは2つのデータフレームを比較して新しい列を作成します

DF1:

ID  Label 
1  a 
2  b 
5  c 

DF2:

ID 
1 
2 
3 

私は2つのデータフレームを比較することにより、DF2に新しい列 "ラベル" を作成します。 idsが一致する場合、df2のラベルはdf1のラベルと等しくなければなりません。 idがDF1に発生しない場合、私は0にしたいので、最終的なDF2は、次のようになります。

ID  Label 
1  a 
2  b 
3  0 

任意の助けを理解されるであろう。ありがとう!

+0

https://pandas.pydata.org/pandas-docs/stable/merging.html –

答えて

1

あなたはmapを使用して、fillnaNaN Sを置き換えることができます。

df2['Label'] = df2['ID'].map(df1.set_index('ID')['Label']).fillna(0) 
print (df2) 
    ID Label 
0 1  a 
1 2  b 
2 3  0 
+1

答えをdownvoteについて全く分かりません質問をdownvoteするのに十分気にしませんが、問題は私が怠惰についての質問を閉じることができたら "マージ・パンダのデータフレーム"のためにグーグル・グーグルに答えることができます。参照:[Stack Overflowユーザーにどの程度の研究努力が期待されていますか?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users) –

関連する問題