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

时间:2017-09-06 17:49:34

标签: python pandas

我有一个包含两列{,1}}的dataFrame ["StartDate" ,"duration"]列中的元素为StartDate类型,datetime为整数。

类似的东西:

duration

我希望得到:

StartDate  Duration
08:16:05    20  
07:16:01    20

只需将秒数添加到小时。

我正在检查有关它的一些想法,例如delta time types,并且所有这些日期时间都有可能添加delta时间,但到目前为止,我可以找到如何使用DataFrames(在向量中)时尚,原因有可能迭代执行操作的所有行)。

2 个答案:

答案 0 :(得分:8)

考虑这个df

    StartDate   duration
0   01/01/2017  135
1   01/02/2017  235

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

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

答案 1 :(得分:1)

df.StartDate = df.apply(lambda x: pd.to_datetime(x.StartDate)+pd.Timedelta(Second(df.duration)) ,axis = 1)