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