Векторизованная реализация для создания нескольких строк из одной строки в панде.
Для каждой строки входной таблицы мне нужно сгенерировать несколько строк, разделив диапазон дат по месяцам. (пожалуйста, обратитесь к приведенному ниже образцу вывода).
Существует простой итеративный подход для преобразования строки за строкой, но он очень медленный на больших фреймах данных.
Может ли кто-нибудь предложить векторизованный подход, такой как использование apply (), map () и т. Д. Для достижения цели?
Выходная таблица - это новая таблица.
Входные данные:
ID, START_DATE, END_DATE
1, 2010-12-08, 2011-03-01
2, 2010-12-10, 2011-01-12
3, 2010-12-16, 2011-03-07
Выход:
ID, START_DATE, END_DATE, NUMBER_DAYS, ACTION_DATE
1, 2010-12-08, 2010-12-31, 23, 201012
1, 2010-12-08, 2011-01-31, 54, 201101
1, 2010-12-08, 2011-02-28, 82, 201102
1, 2010-12-08, 2011-03-01, 83, 201103
2, 2010-12-10, 2010-12-31, 21, 201012
2, 2010-12-10, 2011-01-12, 33, 201101
3, 2010-12-16, 2010-12-31, 15, 201012
4, 2010-12-16, 2011-01-31, 46, 201101
5, 2010-12-16, 2011-02-28, 74, 201102
6, 2010-12-16, 2011-03-07, 81, 201103