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

Pandas 计算数据帧中两个COL之间的时间差(以秒为单位),pandas,Pandas,我有一个如下的熊猫数据框示例 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

我有一个如下的熊猫数据框示例

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

对日期时间列的绝对差值使用
.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

太好了@约翰·高尔特完美@约翰·高尔特