Сократите интервалы дат, чтобы объединить определенные датыPython

Программы на Python
Гость
Сократите интервалы дат, чтобы объединить определенные даты

Сообщение Гость »


У меня есть большой набор данных с несколькими id и несколькими интервалами дат.
Я пытаюсь сократить эти интервалы, чтобы объединить конкретные даты для каждого id.

Ниже приведен небольшой воспроизводимый пример

импортировать панд как pd иметь = {'id': [1,1], 'start_date': ['2014-12-01 00:00:00', '2015-03-01 00:00:00'], 'end_date': ['2015-02-28 23:59:59', '2015-05-31 23:59:59']} иметь = pd.DataFrame (данные = иметь) иметь
Изображение


# Конкретные даты для интеграции конкретные_dt = ['2015-01-01 00:00:00', '2015-03-31 00:00:00'] want = {'id': [1,1,1,1], 'start_date': ['2014-12-01 00:00:00', '2015-01-01 00:00:00', '2015-03-01 00:00:00', '2015-03-31 00:00:00'], 'end_date': ['2014-12-31 23:59:59', '2015-02-28 23:59:59', '2015-03-30 23:59:59', '2015-05-31 23:59:59']} хочу = pd.DataFrame(данные = хочу) хотеть
Изображение


Я думал перебрать все start_date и end_date, чтобы проверить, находятся ли между ними какие-либо конкретные даты, но мой набор данных довольно большой.

Обратите внимание, что помимо этих трех столбцов в файле df есть еще более 30 столбцов. Я хотел бы иметь возможность создавать эти интервалы на месте.

Вернуться в «Python»