Как получить процентиль в 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