У меня есть приведенный ниже фрейм данных, и мне нужно получить список студентов, принадлежащих к тому же 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"], это также будет работать.