熊猫的时差(从字符串格式到日期时间)



我有以下列

Time
2:00
00:13
1:00
00:24

采用对象格式(字符串(。此时间是指我需要用作开始的时间的几小时和几分钟前:8:00(它可能会更改;在本例中为 8:00(。

由于专栏中的时间Time指的是hours/minutes前,我想期待的应该是

Time
6:00
07:47
7:00
07:36

计算为时差(例如8:00 - 2:00(。 但是,我在进行此计算并在日期时间中转换结果(仅保留小时和分钟(时遇到困难。 我希望你能帮助我。

由于Time列仅包含Hour:Minute我建议使用timedelta而不是datetime

df['Time'] = pd.to_timedelta(df.Time+':00')
df['Start_Time'] = pd.to_timedelta('8:00:00') - df['Time']

输出:

Time Start_Time
0 02:00:00   06:00:00
1 00:13:00   07:47:00
2 01:00:00   07:00:00
3 00:24:00   07:36:00

您可以使用pd.to_datetime.

ref = pd.to_datetime('08:00') #here define the hour of reference
s = ref-pd.to_datetime(df['Time'])
print (s)
0   06:00:00
1   07:47:00
2   07:00:00
3   07:36:00
Name: Time, dtype: timedelta64[ns]

这将返回一个序列,例如,可以将其更改为具有s.to_frame()的数据帧