Создайте список отдельных значений на основе группировки и фильтрации в pyspark - PullRequest
0 голосов
/ 17 июня 2020

У меня есть приведенный ниже фрейм данных, и мне нужно получить список студентов, принадлежащих к тому же ultimate_id, т.е. создать столбец list_of_students с помощью pyspark.

Я использую код, но не уверен, куда добавить, чтобы взять только специальность = СТУДЕНТ и игнорировать себя.

from pyspark.sql import Window
w = Window.partitionBy("ultimate_id")
(cust.withColumn("list_of_students", F.collect_set("employee_id").over(w))

df:

employee_id speciality    ultimate_id    list_of_students
A1          LAB              1a          ["B1", "C1"]
B1          STUDENT          1a          []
C1          STUDENT          1a          []
C2          TEACHER          1a          ["B1", "C1"]
C3          TEACHER          1b          []

Примечание: даже для строк 2 и 3, если я получу list_of_students как ["C1"] и ["B1"], это также будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...