我有一个包含两列的数据框' time1'和' time2'格式为:" hh:mm:ss"
我想创建一个新列,它是&time;' time1'和' time2'。
我试过这个:
df.withColumn("diff",
datediff(
to_timestamp($"time1", "hh:mm:ss"),
to_timestamp($"time2", "hh:mm:ss")
)
)
但它总是为diff返回0。这样做的正确方法是什么?
数据样本:
time1, time2
05:35:30, 05:35:12
07:30:55, 02:39:10
08:35:30, 09:36:10
04:35:30, 05:33:50
答案 0 :(得分:2)
首先,格式应为" HH:mm:ss" 第二个约会者只返回天数差异
所以如果你想在几分钟内做差异:
df.withColumn("diffs",
(to_timestamp('time1, "HH:mm:ss").cast("bigint") - to_timestamp('time2, "HH:mm:ss")
.cast("bigint")) / lit(60))