我有两个数据帧。数据帧A
包含有关行程信息:熊猫:连接两个数据帧之间的信息
Id Name StartTime EndTime
0 201 Car1 2016-01-01 00:00:00 2016-01-01 00:43:05
1 205 Car2 2016-01-01 00:10:00 2016-01-01 00:45:05
2 345 Car3 2016-01-01 00:01:00 2016-01-01 00:47:05
3 456 Car2 2016-01-02 00:00:00 2016-01-02 02:45:05
4 432 Car1 2016-01-02 00:00:00 2016-01-02 02:47:05
数据框B
包含行程(如GPS)时的时间戳。
Name Timestamp
0 Car1 2016-01-01 00:05:00
1 Car1 2016-01-01 00:05:24
2 Car2 2016-01-01 00:10:04
3 Car3 2016-01-01 00:01:04
4 Car2 2016-01-01 00:10:34
5 Car1 2016-01-01 00:05:54
我需要一列添加到数据帧B
称为Id
了基于名称和帧A
的开始和结束时间从数据帧A
拿起标识。这两个数据框都非常大,所以我需要一个有效的方法来做到这一点。
感谢您的回复。我似乎没有最新版本,但对我进行更新并不容易。没有使用merge_asof有没有另一种方法。 – Amit
熊猫没有条件连接。你将不得不使用@ jezrael的答案,这在许多情况下可能不可行。这就是为什么merge_asof是为像你这样的情况而建立的。这比合并然后过滤要快得多。我认为你最好的选择是更新熊猫。如果你不能轻易更新熊猫,你需要找到一个可以发生这种情况的环境,因为这对快速发展的pydata工具非常重要。 –