【发布时间】:2017-10-18 14:48:24
【问题描述】:
如果日期介于另一个数据框中的两个日期之间,创建新列并分配值的最佳方法是什么?
例如
dataframe A
date values
2017-05-16 x
2017-04-12 Y
dataframe B #df contains dates to use to filter and associated id
start end id
2017-05-08 2017-05-18 34
2017-04-24 2017-05-08 33
2017-04-03 2017-04-24 32
想要的结果
dataframe A
date values id
2017-05-16 x 34
2017-04-12 Y 32
我研究了 pd.cut ,它似乎不适用于我想要的,并且编写一个循环来迭代具有多个条件的数据帧似乎效率低下。
【问题讨论】:
-
我自己没有尝试过,但是对于类似的问题,建议intervaltree package。
-
那些落在“2017-04-24”等边缘的日期呢?应该选择哪个 ID?