我有一个示例pandas数据帧,如下所示。
string input = "abcd 00001 pqr 003 xyz abc 0009";
double dummy;
var result = input.Split().GroupBy(i => double.TryParse(i, out dummy)).ToList();
var textArray = result.Where(i => !i.Key).SelectMany(i=> i).ToArray();
var numberArray = result.Where(i => i.Key).SelectMany(i => i.ToList()).ToArray();
我想计算最高时间值的时差并用较低的时间值减去。
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
我也想要delta值,即以秒为单位的时差。
预期产出:
i.e if t2 > t1 :
delta = t2 -t1
else: if t1>t2 :
delta = t1 -t2
答案 0 :(得分:0)
对日期时间列的绝对差异使用.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