有个棘手的问题。我得到了两个包含日期时间数据的熊猫数据帧,第一个:
Date Number
2018-02-28 23:59:00 20
2018-03-01 00:37:00 35
2018-03-01 00:58:00 46
2018-03-01 02:14:00 11
2018-03-01 02:32:00 15
第二个:
Date Value
2018-02-28 23:50:00 20
2018-02-28 23:51:00 35
2018-02-28 23:52:00 46
2018-02-28 23:53:00 11
2018-02-28 23:54:00 15
2018-02-28 23:55:00 20
2018-02-28 23:56:00 35
2018-02-28 23:57:00 46
2018-02-28 23:58:00 11
2018-02-28 23:59:00 15
2018-03-01 00:00:00 15
正如您已经注意到的,第一个数据帧中的日期只是随机日期,而在第二个数据帧中,它们按每行+1分钟的递增顺序存储。你知道吗
我试图实现的是将第一个数据帧连接到第二个on date列,但不像内部连接样式那样一对一,而是使用如下规则:从第一个数据帧获取日期(例如,“2018-02-28 23:59:00”并从第二个数据帧连接21行-距离日期10分钟,距离日期10分钟(例如,将从“2018-02-28 23:49:00”到“2018-03-01 00:09:00”)。你知道吗
我有点困惑,有没有什么过滤功能可以帮助实现这种合并?或者可能有一些纯粹的脓液。你知道吗
预期结果如下:
Date1 Date2 Value
2018-02-28 23:59:00 2018-02-28 23:49:00 20
2018-02-28 23:59:00 2018-02-28 23:50:00 35
2018-02-28 23:59:00 2018-02-28 23:51:00 46
2018-02-28 23:59:00 2018-02-28 23:52:00 15
2018-02-28 23:59:00 2018-02-28 23:53:00 20
2018-02-28 23:59:00 2018-02-28 23:54:00 35
2018-02-28 23:59:00 2018-02-28 23:55:00 46
2018-02-28 23:59:00 2018-02-28 23:56:00 11
2018-02-28 23:59:00 2018-02-28 23:57:00 15
2018-02-28 23:59:00 2018-02-28 23:58:00 20
2018-02-28 23:59:00 2018-02-28 23:59:00 35
2018-02-28 23:59:00 2018-03-01 00:00:00 46
2018-02-28 23:59:00 2018-03-01 00:01:00 11
2018-02-28 23:59:00 2018-03-01 00:02:00 15
2018-02-28 23:59:00 2018-03-01 00:03:00 20
2018-02-28 23:59:00 2018-03-01 00:04:00 35
2018-02-28 23:59:00 2018-03-01 00:05:00 46
2018-02-28 23:59:00 2018-03-01 00:06:00 11
2018-02-28 23:59:00 2018-03-01 00:07:00 15
2018-02-28 23:59:00 2018-03-01 00:08:00 20
2018-02-28 23:59:00 2018-03-01 00:09:00 46
谢谢。你知道吗
所以,输入如下:
首先,您可以在df1中创建一个列
l_d2
,其中包含从df1
到Date1
的+/-10分钟内的所有Date2
的列表,例如(下面是您真正需要的过滤函数):然后在这个新列上创建一个带有
stack
函数的序列,如下所示:最后,您可以通过将
s1
与df1
连接,删除列l_d2
(不再有用)并与df2
合并来添加列Value
来创建欲望输出df_output
:我输入的结果如下:
相关问题 更多 >
编程相关推荐