我有一个包含两列{,1}}的dataFrame
["StartDate" ,"duration"]
列中的元素为StartDate
类型,datetime
为整数。
类似的东西:
duration
我希望得到:
StartDate Duration
08:16:05 20
07:16:01 20
只需将秒数添加到小时。
我正在检查有关它的一些想法,例如delta time types,并且所有这些日期时间都有可能添加delta时间,但到目前为止,我可以找到如何使用DataFrames(在向量中)时尚,原因有可能迭代执行操作的所有行)。
答案 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)