如何解决在py spark数据框中添加日期和日历周列 到目前为止的字符串转换提取一年中的第几周
我正在使用spark 2.4.5。我想在pyspark数据框df中添加两个新列,即日期和日历周。 所以我尝试了以下代码:
from pyspark.sql.functions import lit
df.withColumn('timestamp',F.lit('2020-05-01'))
df.show()
但是我收到错误消息:AssertionError: col should be Column
您能解释一下如何添加日期栏和日历周吗?
解决方法
好像您错过了代码中的lit
函数。
这就是您要寻找的东西:
df = df.withColumn("date",lit('2020-05-01'))
如果您想硬编码日期和星期,这就是您的答案。如果要以编程方式导出当前时间戳,建议使用UDF。
,我在这里看到两个问题:首先,如何将字符串转换为日期。其次,如何从日期获取一年中的星期。
到目前为止的字符串转换
您可以简单地使用cast("date")
或更具体的F.to_date
。
df = df.withColumn("date",F.to_date("timestamp","yyyy-MM-dd"))
提取一年中的第几周
使用格式化日期,可以将日期列格式化为任何所需的格式。 w
是一年中的星期。 W
将是每月的星期。
df = df.withColumn("week_of_year",F.date_format("date","w"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。