Timedelta é convertido em valores inteiros. Consultehttps://github .com/pandas-dev/pandas/blob/master/pandas/io/sql.py#L880-L883
Uma solução alternativa seria converter o timedelta em formato de string, antes de salvá-lo em db.
def a_func(val):
return str(val)
my_df['delay'] = my_df['delay'].apply(a_func)
ou
my_df['delay'] = my_df['delay'].astype(str)