我有一个数据框df1
symbol date . . . close . 1d 2d 3d 5d 10d 20d
a 01/02/20120. . . . 100 . 2 2.5 4.1 1.9 4.65 9.12
a 01/02/20120. . . . 60 . 1.1 2.3 2.1 4.9 3.62 7.10
.
.
.
ab 01/02/20120. . . . 55 . 8 2.15 7.8 1.9 4.65 9.12
ab 01/02/20120. . . . 22 . 4.4 2.5 1.1 1.9 4.65 9.12
.
.
ac 01/02/20120. . . . 67 . 2 2.5. 4.1 1.9 4.65 9.12
.
.
.
和数据帧df2
symbol . . . . release_date release_time . . . . . .
a . . . . 01/02/20120 a . . . . . .
a . . . . 01/05/20120 b . . . . . .
a . . . . 01/09/20120 a . . . . . .
a . . . . 01/011/2020 b . . . . . .
ab . . . . 01/02/20120 a . . . . . .
ab . . . . 01/05/20120 a . . . . . .
ac . . . . 01/18/20120 a . . . . . .
ad . . . . 01/20/20120 b . . . . . .
我要向df2添加新列,以使
如果release_time = a,则在df1中搜索与df2具有相同release_date的条目,并添加列close
,1d
,2d
,3d
,{{1} },5d
,10d
。我不希望df1中的其他列成为数据框的一部分,并同时保留df2中的所有列。
如果release_time = b,则在此日期之前关闭值,如果不存在,我想在该列中添加NA
预期输出:
20d
我尝试使用
symbol . . . . release_date release_time . . . . . . close 1d 2d 3d 5d 10d 20d
a . . . . 01/02/20120 a . . . . . .
a . . . . 01/05/20120 b . . . . . .
a . . . . 01/09/20120 a . . . . . .
a . . . . 01/011/2020 b . . . . . .
ab . . . . 01/02/20120 a . . . . . .
ab . . . . 01/05/20120 a . . . . . .
ac . . . . 01/18/20120 a . . . . . .
ad . . . . 01/20/20120 b . . . . . .
这为我提供了在df2中合并的数据,我不确定如何为release_time = a或b添加过滤器。
有人可以帮我吗
更新-这是数据框外观的链接:Google Sheet link
谢谢
答案 0 :(得分:0)
不确定我了解您要做什么,但是要为日期做过滤器,而不是将整个数据框传递给merge()函数,您应该传递类似df[ df['release_date'] == a]