Pandas encontrar la duración entre las fechas en que se cumple una condición?

Tengo un DataFrame de pandas que se ve así:

╔═══╦════════════╦═════════════╗
║   ║ VENDOR ID  ║ DATE        ║
╠═══╬════════════╬═════════════╣
║ 1 ║ 33         ║ 01/12/2018  ║
║ 2 ║ 33         ║ 03/12/2018  ║
║ 3 ║ 12         ║ 01/08/2018  ║
║ 4 ║ 12         ║ 01/15/2018  ║
║ 5 ║ 12         ║ 01/23/2018  ║
║ 6 ║ 33         ║ 05/12/2018  ║
║ 7 ║ 89         ║ 01/12/2018  ║
╚═══╩════════════╩═════════════╝

Y espero obtener una tabla que me dé la cantidad de días desde la última vez que se produjo la misma ID de VENDEDOR, de esta manera:

╔═══╦════════════╦═════════════╗
║   ║ VENDOR ID  ║     GAP     ║
╠═══╬════════════╬═════════════╣
║ 1 ║ 33         ║ ----------  ║
║ 2 ║ 33         ║     60      ║
║ 3 ║ 12         ║ ----------  ║
║ 4 ║ 12         ║      7      ║
║ 5 ║ 12         ║      8      ║
║ 6 ║ 33         ║     60      ║
║ 7 ║ 89         ║ ----------  ║
╚═══╩════════════╩═════════════╝

He estado tratando de encontrar una manera de lograr esto usando groupbys y otros trucos, pero parece que no puedo hacer nada para funcionar.

mí se me ocurrió lo que creo que podría funcionar usando 2 anidados para bucles o iterrrows en pandas, pero debido al tamaño de mi conjunto de datos, usar bucles anidados realmente no funcionará.

¿Alguien tiene alguna idea

Respuestas a la pregunta(1)

Su respuesta a la pregunta