¿Dividir una serie en los intervalos de tiempo en los pandas?

¿Es posible dividir una serie de tiempo en sus brechas. Por ejemplo, supongamos que tenemos lo siguiente:

rng2011 = pd.date_range('1/1/2011', periods=72, freq='H') rng2012 = pd.date_range('1/1/2012', periods=72, freq='H') Y = rng2011.union(rng2012) 

¿Es posible buscar brechas de un año o más y dividir el dataframe en ellas?

Me imagino que esto iría algo así como:

 Y.groupby(Y.map(lambda x: x.year)) 

Excepto que esto se divide en la fecha del año, y estoy interesado en especificar un intervalo de intervalo en lugar del atributo de año de la fila.

La aplicación es que tengo registros de viaje de un gps, pero no hay una delineación de cuándo un viaje terminó y otro comenzó. Me gustaría repartir en huecos de diez minutos o más.

Suponiendo que Y es una columna en su dataframe, una forma es usar diff y cumsum :

 df = DataFrame(Y) df[1] = df[0].diff() > 600000000000.0 #nanoseconds in ten minutes df[1] = df[1].apply(lambda x: 1 if x else 0).cumsum() df.groupby(1) 

Nota: Si usa la cantidad de nanosegundos en 72 horas, se dividirá en dos grupos.