Создание нескольких выходных данных квантиля, основанных на условии значения определенной строки - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть df с такими столбцами, как показано ниже:

   xx_id          interval_start_time                   interval_end_time      percentage_rate  
    bd63             2019-04-01 20:00:00.000                  2019-04-01 20:30:00.000       0.208   
    a519             2019-04-01 22:00:00.000                  2019-04-01 22:30:00.000       0.083   

Я хотел рассчитать процентили для столбца процент_пот (несколько процентилей, например, p5p25 p50 p75 p90) на основе столбца interval_start_time .Что-то, где я могу ввести день и время для столбца interval_start_time (поэтому я могу сделать это для различных значений в этом столбце, поскольку этот столбец содержит разные дни и интервалы времени) иэто даст мне процентили или квантили, которые я хотел?

Спасибо за время

1 Ответ

1 голос
/ 26 апреля 2019
df.groupby(df['interval_start_time'].dt.day)['percentage_rate'].apply(lambda x: np.percentile(x, [25,50,75,100]))

Вы можете изменить «день» на любой, по вашему желанию, чтобы ваши даты группировались. Убедитесь, что df['interval_start_time'] является столбцом даты и времени. Вы также можете изменить значения в [], чтобы отобразить те процентили, которые вас интересуют.

...