首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在PySpark中将字符串更改为HH:MM:SS

在PySpark中将字符串更改为HH:MM:SS
EN

Stack Overflow用户
提问于 2020-10-15 14:43:46
回答 1查看 1.1K关注 0票数 0

我有一栏“会议记录”。我希望在PySpark中将列更改为hh:mm:ss格式

输入:

代码语言:javascript
运行
复制
     minutes(string type)
     10
     20
     70
     90

产出:

代码语言:javascript
运行
复制
minutes(string type)    min_change
    10                  00:10:00
    20                  00:20:00
    70                  01:10:00
    90                  01:30:00
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-15 17:54:07

添加一个带有lit("00:00:00")的列,并将其转换为timestamp。将minutes转换为秒,并将其添加到时间戳列。最后,使用date_format()获取所需的格式:

代码语言:javascript
运行
复制
from pyspark.sql.functions import *
from pyspark.sql import functions as F

df.withColumn("minutes", col("minutes").cast("int"))\
    .withColumn("min_change", lit("00:00:00").cast("timestamp"))\
    .withColumn("min_change", (F.unix_timestamp("min_change") + F.col("minutes")*60).cast('timestamp'))\
    .withColumn("min_change", date_format("min_change",'HH:mm:ss')).show()

+-------+----------+                                                            
|minutes|min_change|
+-------+----------+
|     10|  00:10:00|
|     20|  00:20:00|
|     70|  01:10:00|
|     90|  01:30:00|
+-------+----------+
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64374123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档