if s.empty:
    return np.nan
else:
    return (s.index[0] - s.name).total_seconds()
df['secondsuntildecrease'] = df['output'].apply(lambda x: df['output'] < x
    ).apply(f, axis=1)
df
Панды Python рассчитывают время до тех пор, пока значение в столбце не станет больше, чем в текущем периоде