validar semana obtener ingresar hora hacer fechas fecha como capturar calendario python date pandas

semana - Python Pandas: columna de fecha y hora del grupo en agregaciones de horas y minutos



timedelta python (3)

El código de Wes no funcionó para mí. Pero la función DatetimeIndex ( docs ) sí:

times = pd.DatetimeIndex(data.datetime_col) grouped = df.groupby([times.hour, times.minute])

El objeto DatetimeIndex es una representación de tiempos en pandas. La primera línea crea una matriz de fechas y horas. La segunda línea usa esta matriz para obtener los datos de hora y minuto de todas las filas, lo que permite que los datos se agrupen ( docs ) según estos valores.

Parece que sería bastante sencillo, pero después de casi un día completo no encontré la solución. Cargué mi dataframe con read_csv y analicé fácilmente, combiné e indexé una columna de fecha y hora en una columna, pero ahora quiero poder cambiar la forma y realizar cálculos basados ​​en agrupaciones de horas y minutos similares a lo que puedes hacer en excel pivot.

Sé cómo volver a muestrear en horas o minutos, pero mantiene la porción de fecha asociada a cada hora / minuto, mientras que quiero agregar el conjunto de datos SOLAMENTE a horas y minutos similares a la agrupación en pivotes de Excel y seleccionando "hora" y "minuto" pero no seleccionando nada más.

Cualquier ayuda sería muy apreciada.


Me encontré con esto cuando estaba buscando este tipo de groupby. El código de Wes anterior no funcionó para mí, no estoy seguro de si se debe a los cambios en los pandas largo del tiempo.

En pandas 0.16.2 , lo que hice al final fue:

grp = data.groupby(by=[data.datetime_col.map(lambda x : (x.hour, x.minute))]) grp.count()

Tendría tuplas (hora, minuto) como el índice agrupado. Si quieres multi-índice:

grp = data.groupby(by=[data.datetime_col.map(lambda x : x.hour), data.datetime_col.map(lambda x : x.minute)])


No se puede hacer, donde df es su DataFrame:

times = pd.to_datetime(df.timestamp_col) df.groupby([times.hour, times.minute]).value_col.sum()