首页 > 解决方案 > 将字符串列(2018 年 1 月)转换为 pyspark 数据帧的日期列(01-01-2018)

问题描述

我正在尝试使用 udf 函数将字符串类型列转换为日期类型列,如下所示

输入列值示例: 2018 年 1 月

预期产值: 01-01-2018

这是我的代码

from datetime import datetime

from pyspark.sql.types import DateType

squared_udf = udf(lambda z: datetime.strptime(z,'%b %Y').strftime('%Y-%m-%d'), DateType())

df = df.select('TIME PERIOD', squared_udf('TIME PERIOD'))

我的代码的输出:

DataFrame[TIME PERIOD:字符串,(TIME PERIOD):日期]

但我期待使用 TIME PERIOD 列更新火花数据框

请提出相同的建议。

标签: pythonsqldatetimepysparkuser-defined-functions

解决方案


推荐阅读