Применить ранг с процентилем в полях Python для набора столбцов в кадре данныхPython

Программы на Python
Ответить
Anonymous
 Применить ранг с процентилем в полях Python для набора столбцов в кадре данных

Сообщение Anonymous »

df = pl.DataFrame(
{
"era": ["01", "01", "02", "02", "03", "03"],
"pred1": [1, 2, 3, 4, 5,6],
"pred2": [2,4,5,6,7,8],
"pred3": [3,5,6,8,9,1],
"something_else": [5,4,3,67,5,4],
}
)
pred_cols = ["pred1", "pred2", "pred3"]
ERA_COL = "era"

Я пытаюсь создать эквивалент процентиля ранга панд на Polars. В функции Rank Polars отсутствует флаг pct, который есть у Pandas.
Я рассмотрел здесь еще один вопрос: как заменить pandas df.rank(axis=1) на поляры
Но в результатах вопроса (и применении его к моему коду) что-то не так. Вычисление процента ранга в Pandas дает мне одно число с плавающей запятой, пример Polars дает мне массив, а не число с плавающей запятой, поэтому в этом примере вычисляется что-то другое.
В качестве примера код Pandas следующий:
df[list(pred_cols)] = df.groupby(ERA_COL, group_keys=False).apply(
lambda d: d[list(pred_cols)].rank(pct=True)
)


Подробнее здесь: https://stackoverflow.com/questions/746 ... a-datafram
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»