Pandas: ¿Cómo extraer HH: MM de la columna datetime en Python?

Solo quiero extraer de mi df HH: MM. ¿Cómo lo hago?

Aquí hay una descripción de la columna en el df :

 count 810 unique 691 top 2018-07-25 11:14:00 freq 5 Name: datetime, dtype: object 

El valor de la cadena incluye una marca de tiempo completo. El objective es analizar el HH:MM cada fila en otro df, y volver en bucle y extraer solo el %Y-%m-%d en otro df.

Supongamos que el df parece

 print(df) date_col 0 2018-07-25 11:14:00 1 2018-08-26 11:15:00 2 2018-07-29 11:17:00 #convert from string to datetime df['date_col'] = pd.to_datetime(df['date_col']) #to get date only print(df['date_col'].dt.date) 0 2018-07-25 1 2018-08-26 2 2018-07-29 #to get time: print(df['date_col'].dt.time) 0 11:14:00 1 11:15:00 2 11:17:00 #to get hour and minute print(df['date_col'].dt.strftime('%H:%M')) 0 11:14 1 11:15 2 11:17 

Primero convertir a fecha y hora:

 df['datetime'] = pd.to_datetime(df['datetime']) 

Entonces puedes hacer:

 df2['datetime'] = df['datetime'].dt.strptime('%H:%M') df3['datetime'] = df['datetime'].dt.strptime('%Y-%m-%d') 

Solución general (no basada en pandas)

 import time top = '2018-07-25 11:14:00' time_struct = time.strptime(top, '%Y-%m-%d %H:%M:%S') short_top = time.strftime('%H:%M', time_struct) print(short_top) 

Salida

 11:14