合并2个具有相似时间索引的数据帧

时间:2019-05-24 15:20:53

标签: python pandas

我有2个数据帧,ts1ts2。数据结构如下:

    Date    Close
0   2004-08-05  0.0
1   2004-08-06  -155.0
2   2004-08-09  -140.0
3   2004-08-10  -2.0
4   2004-08-11  -24.0

两者都有一个DateClose列。某些日期可能在ts1中,但不在ts2中(反之亦然)。

我想创建一个数据帧ts_merged,如下所示:

    Date        Close_TS1   Close_TS2
0   2004-08-05  0.0         1
1   2004-08-06  -155.0      133
2   2004-08-09  -140.0      4
3   2004-08-10  -2.0        2
4   2004-08-11  -24.0       2

我想要一个仅 ts1ts2中都存在的日期的数据框。

为了进行比较,我尝试了ts1.Date[ts1.Date == ts2.Date],但是它不起作用。对于合并,我尝试了.merge(),但它只是将所有内容合并到唯一的“关闭”列中。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

将how ='inner'传递给合并功能。这将告诉合并函数执行内部联接,该联接只保留两个数据框中找到的键。

ts_merged=ts1.merge(
    ts2, on='Date', how='inner', suffixes=('_TS1','_TS2')
)