我的DataFrame的格式如下:
TimeWeek TimeSat TimeHoli
0 6:40:00 8:00:00 8:00:00
1 6:45:00 8:05:00 8:05:00
2 6:50:00 8:09:00 8:10:00
3 6:55:00 8:11:00 8:14:00
4 6:58:00 8:13:00 8:17:00
5 7:40:00 8:15:00 8:21:00
我需要找到TimeWeek、TimeSat和TimeHoli中每行之间的时间差异,输出结果必须是:
TimeWeekDiff TimeSatDiff TimeHoliDiff
00:05:00 00:05:00 00:05:00
00:05:00 00:04:00 00:05:00
00:05:00 00:02:00 00:04:00
00:03:00 00:02:00 00:03:00
00:02:00 00:02:00 00:04:00
我尝试使用
(d['TimeWeek']-df['TimeWeek'].shift().fillna(0)
,但出现了错误:TypeError: unsupported operand type(s) for -: 'str' and 'str'
可能是因为该列中存在“:”的原因。我该怎么解决呢?
06:40:00
,而不能解析6:40:00
。稍微进行一些字符串操作就可以解决这个问题。在任何太短的值前加上0,然后再试一次。 - jwilner