我有两个数据帧。一个是包含三列的数据透视表,一个标识符,一个日期和一个值。它看起来像这样:
标识符是CUSIP代码。
我的其他数据框包含超过50列但与第一个数据帧共享标识符。
看起来像这样:
CUSIP代码作为公共标识符存在于此数据框中。
每个标识符有多个条目,它们都有不同的开始和结束日期。
我想做的是通过匹配标识符(CUSIP)并使用两者之间最接近的datetime列匹配,将我的3列数据框与我的大日期框架合并。
我尝试使用merge_asof工具,但这只有在日期排序时才有可能(鉴于我每个日期都有多个条目,这是不可能的 - 多个标识符在每个日期都有值)。
任何想法如何处理?
答案 0 :(得分:0)
由于我的小型数据框始终报告primo月值和大型数据帧ultimo月值,因此对我来说最简单的方法就是将ultimo日期更改为primo日期(下个月)。
要做到这一点我用过:
df ['DATE'] = df ['DATE'] + pd.offsets.MonthBegin(1)
如果值为12-31-1989,则返回01-01-1990。从那里我可以正常合并数据帧。