如何使用 psyaprk 的数据框来获取 withColumn?
how to use psyaprk's dataframe to get a withColumn?
我想gt赞2017-03-01 02:00:00
改2017-03-01
,但是第一张图是2021=2017+3+1
,第二张图是null
您可以使用 to_date
将时间戳转换为日期。
import pyspark.sql.functions as psf
df1.withColumn("day", psf.to_date("T_START"))
连接不适用于 pyspark 中的 +
您必须使用对列进行操作的函数 concat
('-'
应该在 lit
中)。或者像 python join
一样工作的 concat_ws
,用相同的分隔符连接字符串。
month
和 dayofmonth
将 return 整数,你不会有尾随 0。
这里有一个解决方案来获得你想要的东西:
import pyspark.sql.functions as F
df = df.withColumn("day", F.udf(lambda x : x.split(" ")[0])(F.col("T_START"))
如果您想将您的列转换为日期类型,您可以将其转换为:
import pyspark.sql.types as T
df = df.withColumn("day", col("day").cast(T.DateType()))
我想gt赞2017-03-01 02:00:00
改2017-03-01
,但是第一张图是2021=2017+3+1
,第二张图是null
您可以使用 to_date
将时间戳转换为日期。
import pyspark.sql.functions as psf
df1.withColumn("day", psf.to_date("T_START"))
连接不适用于 pyspark 中的 +
您必须使用对列进行操作的函数 concat
('-'
应该在 lit
中)。或者像 python join
一样工作的 concat_ws
,用相同的分隔符连接字符串。
month
和 dayofmonth
将 return 整数,你不会有尾随 0。
这里有一个解决方案来获得你想要的东西:
import pyspark.sql.functions as F
df = df.withColumn("day", F.udf(lambda x : x.split(" ")[0])(F.col("T_START"))
如果您想将您的列转换为日期类型,您可以将其转换为:
import pyspark.sql.types as T
df = df.withColumn("day", col("day").cast(T.DateType()))