在这里,我想计算从 csv 文件导入的时间列中逐行之间的时间间隔。我的开始时间是早上 6 点,我的结束时间是第二天早上 6 点 在此时间段之间如何找到时间间隔。谁能帮我解决这个问题?在这里,我上传了我的代码和 csv 文件。
def time_diff(start, end):
start.append(pd.to_datetime(data['time'][0],formt = '%H:%M:%S').time())
end.append(pd.to_datetime(len(data['time']), format='%H:%M:%S').time())
if isinstance(start, datetime_time): # convert to datetime
assert isinstance(end, datetime_time)
start, end = [datetime.combine(datetime.min,i) for t in [start, end]]
if start <= end:
return end - start
else: # end < start
end += timedelta(1) # +day
assert end > start
return end - start
for time_range in range (len(data['time'])):
start = [datetime.strptime(t,'%H:%M:%S') for t in time_range]
end = [datetime.strptime(t,'%H:%M:%S') for t in time_range]
print(time_diff(s, e))
assert time_diff(s, e) == time_diff(s.time(), e.time())
我的 csv 文件:-
我收到一个错误:-
TypeError Traceback (most recent call last)
<ipython-input-28-be40ae41d284> in <module>()
12 return end - start
13 for time_range in range (len(data['time'])):
---> 14 start = [datetime.strptime(t,'%H:%M:%S') for t in time_range]
15 end = [datetime.strptime(t,'%H:%M:%S') for t in time_range]
16 print(time_diff(s, e))
TypeError: 'int' object is not iterable
