Tengo un valor de tiempo inicial como 15:59:26.186000 (formato %H:%M:%S.%f ).
Y un DataFrame de pandas con un segundo como flotadores
SECONDS 0.44121 0.92844 1.60995 2.16770 2.87059 ¿Hay alguna forma de sumar esos segundos al valor inicial? Entonces, la primera fila sería 15:29:26.627 , etc.
Puede usar pd.to_timedelta para convertir la serie en un delta y agregarla a una versión de fecha y datetime del valor inicial:
s = pd.Series([0.44121, 0.92844, 1.60995, 2.16770, 2.87059]) t = '15:59:26.186000' pd.to_timedelta(s, unit='s') + pd.to_datetime(t, format='%H:%M:%S.%f')Puede usar pd.to_timedelta con unit para convertir SECONDS a tiempo y agregar:
df['SECONDS'] = pd.Timedelta('15:59:26.186000') + pd.to_timedelta(df['SECONDS'], unit='s')También puedes multiplicar:
df['SECONDS'] = pd.Timedelta('15:59:26.186000') + df['SECONDS'] * pd.Timedelta('1s')Producción:
SECONDS 0 0 days 15:59:26.627210 1 0 days 15:59:27.114440 2 0 days 15:59:27.795950 3 0 days 15:59:28.353700 4 0 days 15:59:29.056590