计算熊猫数据帧中两个列之间的时差(以秒为单位)



我有一个示例熊猫数据帧,如下所示。

CID        T1                    Name     T2                        delta 
101    1900-01-01 12:31:58.193    Tom     1900-01-01 12:31:57.193   00:00:01.000 
102    1900-01-01 12:31:57.193    John    1900-01-01 12:31:57.193 00:00:00.000 
103    1900-01-01 12:44:03.098    Mary    1900-01-01 12:34:31.956 -1days+23:50:28.858000 
104    1900-01-01 12:44:03.111    Rocky   1900-01-01 12:31:57.172 -1days+23:47:54.061000 

我想计算时间差,取最高时间值并减去较低时间值。

i.e if t2 > t1 :
delta = t2 -t1
else: if t1>t2 :
delta = t1 -t2 

我还想要增量值,即以秒为单位的时差。

预期产出:

CID     T1                    Name    T2                     delta
101    1900-01-01 12:31:58.193  Tom    1900-01-01 12:31:57.193   60s
102    1900-01-01 12:31:57.193  John   1900-01-01 12:31:57.193   0s 
103    1900-01-01 12:44:03.098  Mary   1900-01-01 12:34:31.956  ~600s 
104    1900-01-01 12:44:03.111  Rocky  1900-01-01 12:31:57.172  ~700s

对日期时间列的绝对差异使用.dt.total_seconds()

In [877]: (df.T1 - df.T2).abs().dt.total_seconds()
Out[877]:
0      1.000
1      0.000
2    571.142
3    725.939
dtype: float64

最新更新