col1

问题描述 投票:1回答:1

我有下面的示例数据框架,其中有对象ID和总小时数。小数值是分钟,转换成一个小时的分数。

# +----+----+--------+
# |col1|total_hours  |
# +----+-------------+
# |obj1| 48387.837   |
# |obj2| 45570.0201  |
# |obj3| 39339.669   |
# |obj4| 37673.235   |
# |obj5| 3576        |
# |obj6| 15287.9999  |
# +----+-------------+

我想用小时:分钟的格式来显示总小时数。

需要的输出:

# +----+----+--------+
# |col1|total_hours  |
# +----+-------------+
# |obj1| 48387:50    |
# |obj2| 45570:01    |
# |obj3| 39339:40    |
# |obj4| 37673:14    |
# |obj5| 3576:00     |
# |obj6| 15288:00    |
# +----+-------------+

在SQL中,我可以用下面的函数来实现。

  hr = trunc(col1);
  minutes = round(hr -trunc(hr)* 0.6, 2);

  hours_minutes= trim(replace(to_char(hr + minutes ,'999999999990.90'),'.',':'));

在Pyspark中如何做到这一点?

apache-spark-sql pyspark-dataframes
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.