Учитывая, что у меня есть набор данных, как показано ниже:
dt = {
"facility":["Ann Arbor","Ann Arbor","Detriot","Detriot","Detriot"],
"patient_ID":[4388,4388,9086,9086,9086],
"year":[2004,2007,2007,2008,2011],
"month":[8,9,9,6,2],
"Nr_Small":[0,0,5,12,10],
"Nr_Medium":[3,1,1,4,3],
"Nr_Large":[2,0,0,0,0],
"PeriodBetween2Visits" : [10,0,12,3,1],
"NumberOfVisits" : [2,2,3,3,3]
}
dt = pd.DataFrame(dt)
мне нужно сохранить groupby patient_ID
, затем сохранить facility
, patient_ID
, NumberOfVisits
, но Максимум и минимум из PeriodBetween2Visits
.
Вот что я попробовал:
dt = dt.groupby(['patient_ID'],as_index=False)["facility","patient_ID","PeriodBetween2Visits","NumberOfVisits"].agg({'PeriodBetween2Visits': ['min', 'max']})
dt.head()
Но это не то, что мне нужно!
Правильный вывод для меня, как показано ниже:
![enter image description here](https://i.stack.imgur.com/VwOXS.png)