當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PySpark SQL Functions to_date方法用法及代碼示例


PySpark SQL 函數的 to_date() 方法將日期字符串轉換為日期類型。

參數

1. col | Column

日期字符串列。

2. format | string

日期字符串的格式。

返回值

PySpark 專欄。

例子

考慮以下帶有一些日期字符串的 PySpark DataFrame:

df = spark.createDataFrame([["Alex", "1995-12-16"], ["Bob", "1998-05-06"]], ["name", "birthday"])
df.show()



+----+----------+
|name|  birthday|
+----+----------+
|Alex|1995-12-16|
| Bob|1998-05-06|
+----+----------+

將PySpark中的日期字符串轉換為日期類型

要將 birthday 列中的日期字符串轉換為實際的 date 類型,請使用 to_date(~) 並指定日期字符串的模式:

from pyspark.sql import functions as F
df_new = df.withColumn("birthday", F.to_date(df["birthday"], "yyyy-MM-dd"))
df_new.printSchema()



root
 |-- name: string (nullable = true)
 |-- birthday: date (nullable = true)

此處, withColumn(~) 方法用於使用 to_date(~) 返回的新列來更新 birthday 列。

作為另一個示例,這是一個帶有稍微複雜的日期字符串的 PySpark DataFrame:

df = spark.createDataFrame([["Alex", "1995/12/16 16:20:20"], ["Bob", "1998/05/06 18:56:10"]], ["name", "birthday"])
df.show()



+----+----------+
|name|  birthday|
+----+----------+
|Alex|1995-12-16|
| Bob|1998-05-06|
+----+----------+

在這裏,我們的日期字符串還包含小時、分鍾和秒。

要將 birthday 列轉換為 date 類型:

df_new = df.withColumn("birthday", F.to_date(df["birthday"], "yyyy/MM/dd HH:mm:ss"))
df_new.show()



+----+----------+
|name|  birthday|
+----+----------+
|Alex|1995-12-16|
| Bob|1998-05-06|
+----+----------+

在這裏,請注意有關小時、分鍾和秒單位的信息在類型轉換期間是如何丟失的。

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark SQL Functions | to_date method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。