数据框的字符串类型'2017-01-01'
它转换为DateType()
df = df.withColumn('date', col('date_string').cast(DateType()))
我想计算该列的first day
和last day
。我尝试使用以下代码,但它们不起作用。谁能提出任何建议?谢谢!
df.select('date').min()
df.select('date').max()
df.select('date').last_day()
df.select('date').first_day()
答案 0 :(得分:6)
与min
和max
汇总:
from pyspark.sql.functions import min, max
df = spark.createDataFrame([
"2017-01-01", "2018-02-08", "2019-01-03"], "string"
).selectExpr("CAST(value AS date) AS date")
min_date, max_date = df.select(min("date"), max("date")).first()
min_date, max_date
# (datetime.date(2017, 1, 1), datetime.date(2019, 1, 3))