微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在py spark数据框中添加日期和日历周列 到目前为止的字符串转换提取一年中的第几周

如何解决在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"))

相关问题:pyspark getting weeknumber of month

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。