我有一个包含原始数据的pandas DataFrame,我想通过添加来自另一个映射表的查找来丰富它。该映射表将一个符号转换为另一个符号,但由于存在重复的键,它还具有映射的"结束日期"。
要丰富的数据看起来像这样:
映射表格如下所示:
我想让输出看起来像这样:
我已经查看了
谢谢, Jon
要丰富的数据看起来像这样:
date symbol price
0 2001-01-02 00:00:00 GCF5 1000.0
1 2001-01-02 00:00:00 GCZ5 1001.0
2 2001-01-03 00:00:00 GCF5 1002.0
3 2001-01-03 00:00:00 GCZ5 1003.0
4 2001-01-04 00:00:00 GCF5 1004.0
5 2001-01-04 00:00:00 GCZ5 1005.0
映射表格如下所示:
from_symbol to_symbol end_date
0 GCF5 GCF05 2001-01-03 00:00:00
1 GCF5 GCF15 2001-12-31 00:00:00
2 GCZ5 GCZ15 2001-12-31 00:00:00
我想让输出看起来像这样:
并且我希望输出的结果是这样的:
date symbol mapped price
0 2001-01-02 00:00:00 GCF5 GCF05 1000.0
1 2001-01-02 00:00:00 GCZ5 GCZ15 1001.0
2 2001-01-03 00:00:00 GCF5 GCF05 1002.0
3 2001-01-03 00:00:00 GCZ5 GCZ15 1003.0
4 2001-01-04 00:00:00 GCF5 GCF15 1004.0
5 2001-01-04 00:00:00 GCZ5 GCZ15 1005.0
我已经查看了
Series.asof()
和 ordered_merge()
函数,但是我不知道如何在连接时使用 symbol == from_symbol
条件,并使用 end_date
找到第一个条目。对于连接操作,end_date
是包含的。谢谢, Jon