Python Pandas-将一列中的秒数添加到另一列中的datetime
我有一个包含两列的数据帧,Python Pandas-将一列中的秒数添加到另一列中的datetime,python,pandas,Python,Pandas,我有一个包含两列的数据帧,[“StartDate”,“duration”] StartDate列中的元素是datetime类型,duration是整数 比如: StartDate Duration 08:16:05 20 07:16:01 20 我希望得到: EndDate 08:16:25 07:16:21 只需将秒数加到小时数上 我正在检查一些关于它的想法,比如delta,所有这些日期时间都有可能添加delta时间,但到目前为止,我可以找到如何使用数据帧(以向量方式,
[“StartDate”,“duration”]
StartDate
列中的元素是datetime
类型,duration
是整数
比如:
StartDate Duration
08:16:05 20
07:16:01 20
我希望得到:
EndDate
08:16:25
07:16:21
只需将秒数加到小时数上
我正在检查一些关于它的想法,比如delta,所有这些日期时间都有可能添加delta时间,但到目前为止,我可以找到如何使用数据帧(以向量方式,因为可能可以迭代执行操作的所有行) 考虑一下这个df
StartDate duration
0 01/01/2017 135
1 01/02/2017 235
您可以像这样获得datetime列
df['EndDate'] = pd.to_datetime(df['StartDate']) + pd.to_timedelta(df['duration'], unit='s')
df.drop('StartDate,'duration', axis = 1, inplace = True)
你得到
EndDate
0 2017-01-01 00:02:15
1 2017-01-02 00:03:55
编辑:使用您发布的示例数据框
df['EndDate'] = pd.to_timedelta(df['StartDate']) + pd.to_timedelta(df['Duration'], unit='s')
请在此问题中添加一些示例数据和预期输出。当我尝试这个“TypeError:data type“datetime”not Understanding”时,我得到了这个错误。问题是当我尝试添加timedelta时。是的,我尝试使用timedelta而不是datetime。如果我单独执行pd.to_timedelta(df['StartDate'])或pd.to_timedelta(df['Duration'],unit='s'),我没有得到错误,但是当我尝试添加它们时,它给出了该类型错误。显然,该问题已经报告,可以通过更新pandas来解决。你用的是什么版本?我使用的是“0.19.2”,解决方案对我来说很好。
df['EndDate'] = pd.to_timedelta(df['StartDate']) + pd.to_timedelta(df['Duration'], unit='s')