通过不同的索引合并两个数据帧

Merge two dataframes by different indexes

我正在尝试根据 Date 列合并两个数据框,但在 df1 中,数据列标题为 Index,而另一个名为 Date

df1

Index SMB HML RF
2018 2 3 4
2019 4 4 5
2020 4 5 2

df2

Date ABC DEF GHI
2018 22 38 49
2019 41 42 59
2020 41 54 29

我尝试在 DF1 中设置索引,但我不断收到错误消息: “[None 个 ['Index'] 在列中”

这是我试过的代码:

df1 = df1.set_index('Index').T.set_index('Date').T

df1 数据已导入(如果有任何变化)。我想最终合并这两个数据框,所以它看起来像这样:

df3

Date ABC DEF GHI SMB HML RF
2018 22 38 49 2 3 4
2019 41 42 59 4 4 5
2020 41 54 29 4 5 2
df3 = df2.merge(df1, right_on='Index', left_on='Date').drop('Index', axis=1)

输出:

>>> df3
   Date  ABC  DEF  GHI  SMB  HML  RF
0  2018   22   38   49    2    3   4
1  2019   41   42   59    4    4   5
2  2020   41   54   29    4    5   2