Как получить процентиль в Postgresql так же, как scipy.stats.percentileofscore

У меня есть таблица, которая содержит "id" и "score".

id | score
1  |   10
2  |   20
3  |   30
4  |   40

Как я могу найти процентили оценок с помощью PostgreSQL, чтобы получить ожидаемый результат:

id | score | percentile
1  |   10  |     25.0
2  |   20  |     50.0
3  |   30  |     75.0
4  |   40  |    100.0

В python одним из способов решения этой проблемы было бы использование scipy.stats.percentileofscore

>>>from scipy import stats
>>>stats.percentileofscore([1, 2, 3, 4], 3)
75.0

но я хотел бы найти способ сделать это с помощью PostgreSQL

Я пробовал использовать PERCENT_RANK, "%(function)s() OVER (ORDER BY %(expressions)s DESC) *100" Но он не вернул то же значение, что и scipy.stats.percentileofscore

Вернуться на верх