Pandas 从结束时间和运行时间计算开始时间(以熊猫为单位)

Pandas 从结束时间和运行时间计算开始时间(以熊猫为单位),pandas,datetime,time,Pandas,Datetime,Time,我刚刚开始我的第一次实习,已经被分配了一项给我带来麻烦的任务。我有一个带有“完成时间”和“周期时间”列的数据帧,其中周期列是%H:%M:%S.%f中的运行时间 我需要通过从结束时间减去运行时间来计算开始时间和日期。我尝试过使用datetime库,但这被证明是不成功的,因为它希望两列都是datetime格式,但运行时没有日期,也不应该有日期 cycle列由最初看起来像25.2(以秒为单位)的十进制字符串转换而来,使用: 以下是数据帧: complete_time cyc

我刚刚开始我的第一次实习,已经被分配了一项给我带来麻烦的任务。我有一个带有“完成时间”和“周期时间”列的数据帧,其中周期列是%H:%M:%S.%f中的运行时间

我需要通过从结束时间减去运行时间来计算开始时间和日期。我尝试过使用datetime库,但这被证明是不成功的,因为它希望两列都是datetime格式,但运行时没有日期,也不应该有日期

cycle列由最初看起来像25.2(以秒为单位)的十进制字符串转换而来,使用:

以下是数据帧:

    complete_time           cycle_time
0   2018-05-07 17:12:34.220 00:00:25.200000
1   2018-05-07 17:12:37.807 00:00:00
2   2018-05-07 17:12:43.453 00:00:25.200000
3   2018-05-07 17:12:51.193 00:00:25.100000
4   2018-05-07 17:12:52.223 00:00:25.300000
5   2018-05-07 17:12:54.297 00:00:00
6   2018-05-07 17:12:59.430 00:00:25.200000
7   2018-05-07 17:13:03.047 00:00:00
8   2018-05-07 17:13:08.697 00:00:25.200000
9   2018-05-07 17:13:16.417 00:00:25.200000
我想在dataframe中添加开始时间作为新列

提前感谢您的指导。

使用
pd.to\u timedelta()
而不是
pd.to\u datetime

df['cycle_time'] = pd.to_timedelta(df['Cycle Time'].astype(float), unit='s')

df['start_time'] = df['complete_time'] - df['cycle_time']
df['cycle_time'] = pd.to_timedelta(df['Cycle Time'].astype(float), unit='s')

df['start_time'] = df['complete_time'] - df['cycle_time']