Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pandas-将一列中的秒数添加到另一列中的datetime_Python_Pandas - Fatal编程技术网

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')