python pandas dataframe 加入两个dataframe

python pandas dataframe join two dataframes

我正在尝试加入数据框。他们看起来像这样

DF1 = ID     COUNTRY     YEAR     V1     V2     V3    V4
      12     USA         2012     x      y      z      a
      13     USA         2013     x      y      z      a
      14     RUSSIA      2012     x      y      z      a

DF2 = ID     COUNTRY     YEAR     TRACT
      9      USA         2000       A
      13     USA         2013       B

期望的最终目标是:

DF3 = ID     COUNTRY     YEAR     V1     V2     V3    V4    TRACT    
      9      USA         2000                                 A
      12     USA         2012     x      y      z      a
      13     USA         2013     x      y      z      a      B
      14     RUSSIA      2012     x      y      z      a

我一直在尝试使用 pd.merge 和 .join 函数并将 on='outer' 设置为没有成功

df3 = pd.merge(df1,df2,how='outer',left_on=['ID','Country','Year'],right_on=['ID',"Country","Year"])

试试这个:

df.merge(df2,how='outer',left_on=['ID','COUNTRY','YEAR'],right_on=['ID',"COUNTRY","YEAR"])

(根据您的输入表,列名应大写)

你试过了吗

df1.join(df2)

您可以稍后添加参数,但应该可以。