Pandas - 在列中添加秒到其他列中的日期时间

Rol*_*ain 7 python pandas

我有一个包含两列的dataFrame,列中["StartDate" ,"duration"] 的元素StartDatedatetime类型,duration而是int.

就像是:

StartDate  Duration
08:16:05    20  
07:16:01    20
Run Code Online (Sandbox Code Playgroud)

我希望得到:

EndDate 
08:16:25
07:16:21
Run Code Online (Sandbox Code Playgroud)

只需添加秒钟即可.

我正在检查有关它的一些想法,如delta 时间类型,并且所有这些日期时间都有可能添加delta时间,但到目前为止,我可以找到如何使用DataFrames(以矢量方式,因为它可能是可以迭代执行操作的所有行).

Vai*_*ali 10

考虑这个df

    StartDate   duration
0   01/01/2017  135
1   01/02/2017  235
Run Code Online (Sandbox Code Playgroud)

您可以像这样获取日期时间列

df['EndDate'] = pd.to_datetime(df['StartDate']) + pd.to_timedelta(df['duration'], unit='s')
df.drop('StartDate,'duration', axis = 1, inplace = True)
Run Code Online (Sandbox Code Playgroud)

你得到

    EndDate             
0   2017-01-01 00:02:15 
1   2017-01-02 00:03:55 
Run Code Online (Sandbox Code Playgroud)

编辑:使用您发布的示例数据框

df['EndDate'] = pd.to_timedelta(df['StartDate']) + pd.to_timedelta(df['Duration'], unit='s')
Run Code Online (Sandbox Code Playgroud)