РЕДАКТИРОВАТЬ: редактируется после комментария.
Вы можете легко получить медиану, используя summary
.
df_result = your_table.select("value_count", "value").summary("50%")
В результате получается кадр данных с одной строкой и 2 столбцами. Вы можете присоединить его к исходному фрейму данных, если хотите: your_table.select("col1", .. , "coln").distinct().join(df_result, "outer")
В качестве альтернативы есть функции approx_quantile
и percentile_approx
, которые могут выполнять работу без использования объединения (как описано выше)