У меня есть PySpark DataFrame, который довольно большой (50000 столбцов, 1 миллион строк). Первый столбец - это метка, которую мы будем GROUP BY. Остальные из 49 000 столбцов имеют числовые значения c с плавающей запятой.
Я пытался запустить Pandas UDF и столкнулся с серьезными проблемами с производительностью. Набор данных никоим образом не может быть отфильтрован или уменьшен.
Я хочу обработать этот DataFrame в GROUP BY на один столбец и взять среднее значение для каждого другого столбца, отбрасывая при этом верхние и нижние 20% в каждой группе.
Какой самый эффективный способ сделать это?