Как рассчитать Max (Date) и Min (Date) для DateType в фрейме данных pyspark? - PullRequest
0 голосов
/ 27 апреля 2018

В кадре данных есть столбец даты в строковом типе '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()

1 Ответ

0 голосов
/ 27 апреля 2018

Агрегат с 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...