Получите наблюдения на основе значения процентиля в python pandas

У меня есть кадр данных в следующем виде:

d1 = {'City_ID': ['City_1','City_1','City_1','City_1','City_2','City_3','City_3','City_3','City_3','City_3'], 
'Indiv_ID': ['Indiv_1','Indiv_2','Indiv_3','Indiv_4','Indiv_5','Indiv_6','Indiv_7','Indiv_8','Indiv_9','Indiv_10'],
'Expenditure_by_earning': [0.11, 0.66, 0.51, 0.43, 0.46,0.8, 0.14, 0.06, 0.64, 0.95]}

Реальный набор данных содержит более 1000 городов с несколькими людьми, хотя в некоторых городах есть только одно наблюдение. Я хотел бы получить людей в каждом городе, чьи расходы по стоимости заработка меньше 25% процентиля и больше 75% процентиля для этого города.

Результат в этом случае я ожидаю:

City_ID     Indiv_ID    Expenditure_by_earning     Percentile
City_1      Indiv_1          0.11                      25
City_1      Indiv_2          0.66                      75
City_3      Indiv_7          0.06                      25
City_3      Indiv_8          0.14                      25
City_3      Indiv_6          0.8                       75
City_3      Indiv_10         0.95                      75

Примечание: Город 2 уничтожается.

Кто-нибудь поможет мне в том, как добиться этого с помощью python? Спасибо.


person Prometheus    schedule 02.05.2017    source источник


Ответы (1)


person    schedule
comment
Потрясающий. Очень признателен. - person Prometheus; 02.05.2017