Python pandas способ проверить, если какое-либо значение (col1) между двумя датами (col2 и col3) на df1 ВХОДИТ или НЕ ПОЛНОСТЬЮ В любом временном интервале df2?

Это что-то вроде,

df1:
col1           col2                 col3
 11    2019-12-31 15:30:00   2020-01-02 22:15:00
 11    2019-04-25 12:00:00   2020-05-01 12:00:00
 11    2020-02-20 08:30:00   2020-03-02 12:00:00
 12    2018-10-29 11:00:00   2018-10-29 13:00:00
 18    2019-05-02 10:00:00   2019-05-02 20:00:00

df2:
col1           col2                 col3
11    2019-11-20 12:00:00   2020-04-30 23:59:59
11    2000-01-01 00:00:00   2001-06-30 23:59:59
17    2005-02-28 10:00:00   2015-12-24 15:00:00
18    2019-01-01 12:00:00   2019-05-02 12:00:00

df3: Should be like this,
col1           col2                 col3              (IS or NOT) IN
 11    2019-12-31 15:30:00   2020-01-02 22:15:00            True
 11    2019-04-25 12:00:00   2020-05-01 12:00:00            False
 11    2020-02-20 08:30:00   2020-03-02 12:00:00            True
 12    2018-10-29 11:00:00   2018-10-29 13:00:00            False
 18    2019-05-02 10:00:00   2019-05-02 20:00:00            False

ПРИМЕЧАНИЕ1: времена не перекрываются для одного и того же индекса col1

ПРИМЕЧАНИЕ 2: элемент 11 - Истина в первый раз в df1, потому что весь интервал ЗАПОЛНЕН В одном интервале df2 (первая строка для 11). Вторая строка df1, которая появляется 11, имеет значение Ложь, потому что временной интервал не полностью в любом интервалов для значения 11 en df2.

0 ответов

Другие вопросы по тегам