df1 = pd.DataFrame({'Text1' : ["Jack","Mary","Marco","Iabel"],
                'Text2' : ["Male","Female",25,"Female"],
                'Text3' : ["USA","Canada","Italy",175],
                'Text4' : [20,"game","designer",24],
                'Text5' : ["musician",24,"fashion","shopping"],
                'Text6' : ["rock","unemployed","tennis","actress"],
                'Text7' : ["movie","None","None","None"]})

df1の出力結果

    Text1   Text2   Text3   Text4     Text5     Text6       Text7
0   Jack    Male    USA     20        musician  rock        movie
1   Mary    Female  Canada  game      24        unemployed  None
2   Marco   25      Italy   designer  fashion   tennis      None
3   Iabel   Female  175     24        shopping  actress     None

また、

df2 = pd.DataFrame([["USA", 0],
                   ["France",1],
                   ["Italy",1],
                   ["Canada", 2]])
df2.columns = {"Country", "Code"}

df2の出力結果

    Country  Code
0   USA      0
1   France   1
2   Italy    1
3   Canada   2

という二つのデータフレームがあります。
df1の各行において、df2のCounrtryという列に入っている国名のどれかと一致すればその国名を取り出し、最終的に

      0      1
0   Jack    USA
1   Mary    Canada
2   Marco   Italy
3   Isabel  NaN

のように並べるにはどうしたらよいでしょうか。良い方法がございましたら、教えていただけると幸いです。よろしくお願い致します。