Агрегирование на основе медианы распределения вероятностей - PullRequest
0 голосов
/ 20 января 2020

У меня большой набор данных (75 миллионов строк) состоит из 12 столбцов. Строки повторяются с одинаковыми значениями, за исключением двух последних столбцов, которые составляют распределение вероятностей enter image description here

Как мы видим в этом фрагменте, относительно первых 10 столбцов, строк равны по значениям, а последние 2 (value_count, value) являются вероятностным распределением для строк. Я хочу объединить эти строки в одну строку на основе медианы распределения вероятностей value_count, значение

1 Ответ

0 голосов
/ 20 января 2020

РЕДАКТИРОВАТЬ: редактируется после комментария.

Вы можете легко получить медиану, используя 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, которые могут выполнять работу без использования объединения (как описано выше)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...