通过不同的索引合并两个数据帧
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
我正在尝试根据 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