Implementación vectorizada para crear múltiples filas desde una sola fila en el marco de datos de pandas

Para cada fila en la tabla de entrada, necesito generar varias filas separando el rango de fechas en función de cada mes. (consulte la salida de muestra a continuación).

Hay un enfoque iterativo simple para convertir fila por fila, pero es muy lento en grandes marcos de datos.

¿Alguien podría sugerir un enfoque vectorizado, como el uso de apply (), map (), etc. para lograr el objetivo?

La tabla de salida es una tabla nueva.

Entrada:

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

Salida:

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

Respuestas a la pregunta(2)

Su respuesta a la pregunta