У меня есть фрейм данных с двумя экспериментальными группами, и я пытаюсь получить процентильные распределения.Однако данные уже сгруппированы:
df = pd.DataFrame({'group': ['control', 'control', 'control','treatment','treatment','treatment'],
'month': [1,4,9,2,5,12],
'ct': [8,4,2,5,5,7]})
Я хочу рассчитать, какой месяц представляет 25-й, 50-й, 75-й процентиль каждой группы, но фрейм данных уже сгруппирован по переменным группы / месяца.
Обновление 1: я понимаю, что не прояснил проблему, с которой сталкиваюсь.Это сгруппированный кадр данных, поэтому, например, элемент управления имеет 8 точек данных, где month = 1, 4, где month = 4, и 2, где month = 9. Следующие процентили должны быть следующими:
x = pd.Series([1,1,1,1,1,1,1,1,4,4,4,4,9,9)]
x.quantile([0.25,0.5,0.75])
>> 0.25 1.0
0.50 1.0
0.75 4.0
dtype: float64
Группировка по группам и принятие квантилей не дает точного ответа.Есть ли способ разбить число и взять процентили не сгруппированных значений?Конечный объект должен иметь следующие значения:
p25 p50 p75
control 1 1 4
treatment 2 5 12