У меня есть кадр данных в следующем формате ...
id , name, start_date, end_date , active
1 , albert , 2019-08-14, 3499-12-31, 1
1 , albert , 2019-08-13, 2019-08-14, 0
1 , albert , 2019-06-26, 2019-08-13, 0
1 , brian , 2018-01-17, 2019-06-26, 0
1 , brian , 2017-07-31, 2018-01-17, 0
1 , albert , 2017-03-31, 2018-07-31, 0
2 , diane , 2019-07-14, 3499-12-31, 1
2 , diane , 2019-06-13, 2019-07-14, 0
2 , ethel , 2019-03-20, 2019-06-13, 0
2 , ethel , 2018-01-17, 2019-03-20, 0
2 , frank , 2017-07-31, 2018-01-17, 0
2 , frank , 2015-03-21, 2018-07-31, 0
И я хочу объединить последовательные строки, где имя совпадает с предыдущей строкой, но сохранить правильные даты начала и окончания вокончательный вывод данных. Таким образом, правильный вывод будет ...
id , name, start_date, end_date , active
1 , albert , 2019-06-26, 3499-12-31, 1
1 , brian , 2017-07-31, 2019-06-26, 0
1 , albert , 2017-03-31, 2018-07-31, 0
2 , diane , 2019-06-13, 3499-12-31, 1
2 , ethel , 2018-01-17, 2019-06-13, 0
2 , frank , 2017-03-31, 2018-01-17, 0
Количество записей для идентификатора меняется, как и количество различных имен для идентификатора.
Как этого можно достичь в pyspark? Спасибо