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
太好了@约翰·高尔特完美@约翰·高尔特