python - 在 Pandas 中将时间增量添加到运行总计中
问题描述
所以我的数据框中有两列数据。TimeDeltasDiffs 和 ActualTime。数据框的第一行在 ActualTime 列中有一个开始时间。我想根据当前行中的时间增量值增量填充 ActualTime 列。
我已将 apply 和 lambdas 用于此数据帧上的其他操作。例如
df_mrx['Log Timestamp'] = df_mrx['Log Timestamp'].apply(lambda x: '00:' + x)
但不确定如何在我迭代时根据以前的值使用它......
任何帮助将不胜感激。
解决方案
您不一定需要使用 .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
推荐阅读
- c# - JsonSerializer.Serialize 返回空对象
- python - 如何在 groupby() 之后使用 apply 在 lambda 函数中的两个条件下创建数据框?
- arrays - SwiftUI - 检查数组中是否存在值
- java - 如何使用 RestTemplate 将上游错误响应传递给下游服务
- c - 计算C中n个数字数组的平均值
- java - AES - 解密数据的差异
- r - 如何获得在 R 的 CADFtest 中运行的基础模型的拟合值?
- c# - sql查询中访问日期数据类型不匹配
- python - Paramiko / Netmiko SSH 错误 - 'paramiko.buffered_pipe.PipeTimeout'
- html - 如何使语音气泡出现在文本中的悬停上