Как проверить процентиль каждой строки на основе столбца в pandas?

#python #pandas #statistics

#python #pandas #Статистика

Вопрос:

У меня есть набор данных с id столбцом для каждого события и value столбцом (среди других столбцов) в dataframe. Что я хочу сделать, это классифицировать каждый из них id на основе того, находится ли он в 90-м процентиле, 50-м процентиле, 25-м процентиле и т.д. Частотного распределения значения colum.

Пример,

 id      value
1       12.5
2       4.6
....
  

Итак, я бы добавил к нему еще один столбец category в зависимости от того, в какой процентиль столбца значений он попадает. Как мне это сделать?

Комментарии:

1. Мой ответ был не таким, как вы ожидали?

Ответ №1:

Вы ищете quantile метод. Например, присвоение 0.0, 0.25, 0.5, 0.75 квантилям может быть выполнено таким образом:

 df['quantile'] = 0.0

for q in [0.25, 0.5, 0.75]:
    df.loc[df['value'] >= df['value'].quantile(q), 'quantile'] = q