У меня есть такой фрейм данных, показано только два столбца, однако в исходном фрейме данных много столбцов
data = [(("ID1", 3, 5)), (("ID2", 4, 12)), (("ID3", 8, 3))]
df = spark.createDataFrame(data, ["ID", "colA", "colB"])
df.show()
+---+----+----+
| ID|colA|colB|
+---+----+----+
|ID1| 3| 5|
|ID2| 4| 12|
|ID3| 8| 3|
+---+----+----+
Я хочу извлечь имя столбца в строке, которое имеет максимальное значение. Следовательно, ожидаемый результат такой:
+---+----+----+-------+
| ID|colA|colB|Max_col|
+---+----+----+-------+
|ID1| 3| 5| colB|
|ID2| 4| 12| colB|
|ID3| 8| 3| colA|
+---+----+----+-------+
В случае связывания, когда colA и colB имеют одинаковое значение, выберите первый столбец.
Как мне этого добиться в pyspark