Сократите интервалы дат, чтобы объединить определенные даты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 столбцов. Я хотел бы иметь возможность создавать эти интервалы на месте.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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