我有2个数据帧,ts1
和ts2
。数据结构如下:
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
两者都有一个Date
和Close
列。某些日期可能在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
我想要一个仅 ts1
和ts2
中都存在的日期的数据框。
为了进行比较,我尝试了ts1.Date[ts1.Date == ts2.Date]
,但是它不起作用。对于合并,我尝试了.merge()
,但它只是将所有内容合并到唯一的“关闭”列中。
我该怎么做?
答案 0 :(得分:1)
将how ='inner'传递给合并功能。这将告诉合并函数执行内部联接,该联接只保留两个数据框中找到的键。
ts_merged=ts1.merge(
ts2, on='Date', how='inner', suffixes=('_TS1','_TS2')
)