У меня есть фрейм данных с дублирующимися строками, и я хотел бы объединить их в одну запись со всеми различными столбцами.
Мой пример кода выглядит следующим образом:
df1= sqlContext.createDataFrame([("81A01","TERR NAME 01","NJ","",""),("81A01","TERR NAME 01","","NY",""),("81A01","TERR NAME 01","","","LA"),("81A02","TERR NAME 01","CA","",""),("81A02","TERR NAME 01","","","NY")], ["zip_code","territory_name","state","state1","state2"])
результирующий кадр данных выглядит следующим образом:
df1.show()
+--------+--------------+-----+------+------+
|zip_code|territory_name|state|state1|state2|
+--------+--------------+-----+------+------+
| 81A01| TERR NAME 01| NJ| | |
| 81A01| TERR NAME 01| | NY| |
| 81A01| TERR NAME 01| | | LA|
| 81A02| TERR NAME 01| CA| | |
| 81A02| TERR NAME 01| | | NY|
+--------+--------------+-----+------+------+
Мне нужно объединить / объединить дубликаты записей на основе zip_code и получить все различные значения состояния в одной строке.
Ожидаемый результат:
+--------+--------------+-----+------+------+
|zip_code|territory_name|state|state1|state2|
+--------+--------------+-----+------+------+
| 81A01| TERR NAME 01| NJ| NY| LA|
| 81A02| TERR NAME 01| CA| | LA|
+--------+--------------+-----+------+------+
Я новичок в pyspark и не знаю, как использовать группы / объединения.Может кто-нибудь, пожалуйста, помогите с кодом.