首页 > 解决方案 > 在 Pandas 中将时间增量添加到运行总计中

问题描述

在此处输入图像描述

所以我的数据框中有两列数据。TimeDeltasDiffs 和 ActualTime。数据框的第一行在 ActualTime 列中有一个开始时间。我想根据当前行中的时间增量值增量填充 ActualTime 列。

我已将 apply 和 lambdas 用于此数据帧上的其他操作。例如

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

但不确定如何在我迭代时根据以前的值使用它......

任何帮助将不胜感激。

标签: pythonpandastimedelta

解决方案


您不一定需要使用 .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

推荐阅读