如何计算午夜栏中各列之间的时间差?

时间:2019-11-02 11:14:20

标签: python pandas numpy timestamp

我有一列25天的每小时时间戳记值。我想利用它们之间的时差。我过去曾经尝试过该代码,但它给了我负面的价值。我有这个新代码,但是它有两个值,但是如何调整它以遍历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

1 个答案:

答案 0 :(得分:0)

使用:

s = dataFrame.groupby(['DeviceName'])['Time_ist_td'].diff()
dataFrame['Time_diff']=s.where(s>pd.Timedelta(0),-s).dt.total_seconds()) // 60

基本概念:

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