Быстрый алгоритм для повторного вычисления процентиля?

Новый ответ:

На этой странице предлагается:

Реализация для всех версий Mac OS X

Другой модуль Mac (MacSharedClipboard.py в листинге 4) реализует интерфейс буфера обмена поверх двух программ командной строки, называемых pbcopy (который копирует текст в буфер обмена) и pbpaste (который вставляет любой текст буфер обмена). Приставка «pb» означает «монтажная доска», термин Mac для обозначения буфера обмена.

Старый ответ:

Очевидно так:

http://code.activestate.com/recipes/410615/

- это простой скрипт, демонстрирующий, как это сделать.

Редактировать: только что понял, что это зависит от углерода, поэтому не может быть идеальным ... зависит от того, для чего вы его используете.

30
задан martinus 20 September 2010 в 07:14
поделиться

1 ответ

Вот решение javaScript. Скопируйте и вставьте его в консоль браузера, и он работает. $scores содержит список баллов, а $percentile - n-th percentile списка. Таким образом, 75-й процентиль равен 76,8, а 99-процентный - 87,9.

function get_percentile($percentile, $array) {
    $array = $array.sort();
    $index = ($percentile/100) * $array.length;
    if (Math.floor($index) === $index) {
         $result = ($array[$index-1] + $array[$index])/2;
    }
    else {
        $result = $array[Math.floor($index)];
    }
    return $result;
}

$scores = [22.3, 32.4, 12.1, 54.6, 76.8, 87.3, 54.6, 45.5, 87.9];

get_percentile(75, $scores);
get_percentile(90, $scores);
-2
ответ дан 28 November 2019 в 00:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: