[英]how to calculate the time difference between the values in column over midnight?
I have a column of timestamp values for each hour for 25 days.我在 25 天内每个小时都有一列时间戳值。 I want to take the time difference between them.
我想拿他们之间的时间差。 I have tried the code in the past but it gives me a negative value.
我过去曾尝试过该代码,但它给了我一个负值。 I have this new code, but it is for two values, but how can I tweak it to loop over the values of column?
我有这个新代码,但它适用于两个值,但我如何调整它以循环列的值?
def time_diff(start, end):
if isinstance(start, datetime_time): # convert to datetime
assert isinstance(end, datetime_time)
start, end = [datetime.combine(datetime.min, t) for t in [start, end]]
if start <= end: # e.g., 10:33:26-11:15:49
return end - start
else: # end < start e.g., 23:55:00-00:25:00
end += timedelta(1) # +day
assert end > start
return end - start
Use:利用:
s = dataFrame.groupby(['DeviceName'])['Time_ist_td'].diff()
dataFrame['Time_diff']=s.where(s>pd.Timedelta(0),-s).dt.total_seconds()) // 60
basic idea:基本思想:
s=pd.Series([-1,1])
print(s)
0 -1
1 1
dtype: int64
s=s.where(s>0,-s)
print(s)
0 1
1 1
dtype: int64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.