【发布时间】:2016-02-07 18:46:34
【问题描述】:
我正在尝试连接两个数据框,这两个数据框在 SQL 中会使用 where 和 between 语句来表示日期。
在 SQL 中,代码为:
select Date,(Value1-Test1) as Ans1,(Value2-Test2) as Ans2,ID
from Data a
inner join Test b on a.ID=b.ID and a.Date between b.DateStart and c.DateEnd
这是数据
Date Value1 Value2 ID
01/01/16 19:30:00 10 30 A
01/01/16 19:50:20 20 40 B
01/01/16 19:55:30 30 50 C
这是测试
RowNumber DateStart DateEnd Test1 Test2 ID
1 01/01/16 17:00:00 01/01/16 22:00:05 2 4 A
2 01/01/16 22:00:06 01/01/16 01:50:00 3 6 A
3 01/01/16 17:00:00 01/01/16 22:00:05 4 8 B
4 01/01/16 22:00:06 01/01/16 01:50:00 5 2 B
5 01/01/16 17:00:00 01/01/16 22:00:05 6 4 C
6 01/01/16 22:00:06 01/01/16 01:50:00 7 5 C
我正在尝试创建的结果
Date Ans1 Ans2 ID
01/01/16 19:30:00 8 26 A
01/01/16 19:50:12 16 32 B
01/01/16 19:55:24 24 46 C
任何帮助和指点都会很棒。
【问题讨论】:
-
也许使用
sqldf包?另请参阅How to join (merge) data frames (inner, outer, left, right)? -
数据和两列不同标签旁边的结果之间的实际区别是什么?
-
@MLavoie 道歉 - 我已经编辑了我的结果集。
-
@zx8754 你是个十足的明星!!!非常感谢 - 它现在正在运行,我已经编辑了问题以显示您的链接和我实施的解决方案!!!太棒了!