Python: Agregar horas a la marca de tiempo de pandas

Leí un archivo csv en pandas dataframe df y obtengo lo siguiente:

 df.columns Index([u'TDate', u'Hour', u'SPP'], dtype='object') >>> type(df['TDate'][0])  type(df['Hour'][0])  >>> type(df['TradingDate'])  >>> type(df['Hour'])  

Tanto las columnas Hour como TDate tienen 100 elementos. Quiero añadir los elementos correspondientes de Hora a TDate.

Intenté lo siguiente:

 import pandas as pd from datetime import date, timedelta as td z3 = pd.DatetimeIndex(df['TDate']).to_pydatetime() + td(hours = df['Hour']) 

Pero me sale un error, ya que parece que td no toma array como argumento. ¿Cómo agrego cada elemento de Hour al elemento correspondiente de TDate ?

Creo que puedes agregar a la columna TDate Hour convertida a to_timedelta con la unit='h' :

 df = pd.DataFrame({'TDate':['2005-01-03','2005-01-04','2005-01-05'], 'Hour':[4,5,6]}) df['TDate'] = pd.to_datetime(df.TDate) print (df) Hour TDate 0 4 2005-01-03 1 5 2005-01-04 2 6 2005-01-05 df['TDate'] += pd.to_timedelta(df.Hour, unit='h') print (df) Hour TDate 0 4 2005-01-03 04:00:00 1 5 2005-01-04 05:00:00 2 6 2005-01-05 06:00:00