@AB_AG

Как запуститьpyspark functions lag?

Ищу помощи, зашел в тупик. Pyspark версии v2.4.0

Имеется df - это pyspark.sql.dataframe.DataFrame. Мне нужно сдвинуть данные из столбца wiki на одну строчку и положить их в новый столбец.

# Выглядит он вот так, столбец с id уникальный, wiki не уникальный.
df.show(5)
+----------+---+
| wiki | id|
+----------+---+
| anarchism| 0|
| anarchism| 1|
| defined | 2|
| political | 3|
|philosophy| 4|
+----------+---+
only showing top 5 rows
windowSpec = Window.partitionBy("Wiki").orderBy("id")
df_new = df.withColumn("lag", func.lag("wiki", 1).over(windowSpec)).show()


Ошибки pastebin

И всё падает с ошибкой как бы я не крутил windowSpec и withColumn.
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
@denislysenko
data engineer
Попробуй так:
windowSpec = Window.partitionBy("Wiki").orderBy("id")
df_new=df.select(
    "wiki", "id",
    F.lag("wiki", 1).over(windowSpec).alias("lag")
)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы