Добавление дельты времени к промежуточному итогу в Pandas - PullRequest
0 голосов
/ 10 мая 2018

enter image description here

Итак, у меня есть два столбца данных в моем фрейме данных. TimeDeltasDiffs и ActualTime. Первая строка данных имеет начальное время в столбце ActualTime. Я хочу заполнить столбец ActualTime постепенно, основываясь на значении разницы во времени в текущей строке.

Я использовал apply и lambdas для других операций на этом фрейме данных. например, * +1008 *

df_mrx['Log Timestamp'] = df_mrx['Log Timestamp'].apply(lambda x: '00:' + x)

Но не уверен, как использовать это, основываясь на предыдущих значениях, пока я итерирую ...

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 10 мая 2018

Вам не обязательно использовать .apply (). Рассмотрим ниже подход. Учитывая, что ниже находится df

       ActualTime           TimeDeltasDiffs
0   2018-04-16 17:06:01      00:00:00
1        0                   00:00:01
2        0                   00:00:00
3        0                   00:00:02

Вам нужно использовать .cumsum () на TimeDeltasDiffs

df['ActualTime'] = df.iloc[0]['ActualTime']
df['ActualTime'] = pd.to_datetime(df['ActualTime']) + pd.to_timedelta(df['TimeDeltasDiffs']).cumsum()

Выход:

         ActualTime            TimeDeltasDiffs
0   2018-04-16 17:06:01           00:00:00
1   2018-04-16 17:06:02           00:00:01
2   2018-04-16 17:06:02           00:00:00
3   2018-04-16 17:06:04           00:00:02
...