tutorial recorrer panda leer funciones español documentacion datos data con cargar biblioteca archivos python pandas datetime group-by

recorrer - pandas python tutorial español pdf



¿Cómo agrupar un marco de datos de pandas por un intervalo de tiempo definido? (1)

Tengo un DataFrame como este, me gustaría agrupar cada 60 minutos y comenzar a agrupar a las 06:30.

data index 2017-02-14 06:29:57 11198648 2017-02-14 06:30:01 11198650 2017-02-14 06:37:22 11198706 2017-02-14 23:11:13 11207728 2017-02-14 23:21:43 11207774 2017-02-14 23:22:36 11207776

Estoy usando:

df.groupby(pd.TimeGrouper(freq=''60Min''))

Obtengo esta agrupación:

data index 2017-02-14 06:00:00 x1 2017-02-14 07:00:00 x2 2017-02-14 08:00:00 x3 2017-02-14 09:00:00 x4 2017-02-14 10:00:00 x5

pero estoy buscando este resultado:

data index 2017-02-14 06:30:00 x1 2017-02-14 07:30:00 x2 2017-02-14 08:30:00 x3 2017-02-14 09:30:00 x4 2017-02-14 10:30:00 x5

¿Cómo puedo decirle a la función que comience a agrupar a las 6:30 a intervalos de una hora?

Si no puede ser hecho por .groupby (pd.TimeGrouper (freq = ''60Min'')) , ¿cómo es la mejor manera de hacerlo?

Un saludo y muchas gracias de antemano


Use base=30 junto con label=''right'' parámetros label=''right'' en pd.Grouper .

Al especificar label=''right'' el período de tiempo comienza a agruparse a partir de las 6:30 (parte superior) y no a las 5:30. Además, la base se establece en 0 por defecto , de ahí la necesidad de compensarlos por 30 para tener en cuenta la propagación de fechas hacia adelante.

Supongamos que desea agregar el primer elemento de cada subgrupo, luego:

df.groupby(pd.TimeGrouper(freq=''60Min'', base=30, label=''right'')).first() # same thing using resample - df.resample(''60Min'', base=30, label=''right'').first()

rendimientos:

data index 2017-02-14 06:30:00 11198648.0 2017-02-14 07:30:00 11198650.0 2017-02-14 08:30:00 NaN 2017-02-14 09:30:00 NaN 2017-02-14 10:30:00 NaN 2017-02-14 11:30:00 NaN 2017-02-14 12:30:00 NaN 2017-02-14 13:30:00 NaN 2017-02-14 14:30:00 NaN 2017-02-14 15:30:00 NaN 2017-02-14 16:30:00 NaN 2017-02-14 17:30:00 NaN 2017-02-14 18:30:00 NaN 2017-02-14 19:30:00 NaN 2017-02-14 20:30:00 NaN 2017-02-14 21:30:00 NaN 2017-02-14 22:30:00 NaN 2017-02-14 23:30:00 11207728.0