Да, в Python UDF можно писать свои group by-функции. 12 Для этого нужно использовать метод collect_set, чтобы собрать сгруппированные значения, а затем применить к ним обычную UDF. 1
В качестве аргумента в такую функцию можно передавать выражения столбцов или имена столбцов. 3