我有一个示例熊猫数据帧,如下所示。
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