Make DataFrame:
people = ['shayna','shayna','shayna','shayna','john']
dates = ['01-01-18','01-01-18','01-01-18','01-02-18','01-02-18']
places = ['hospital', 'hospital', 'inpatient', 'hospital', 'hospital']
d = {'Person':people,'Service_Date':dates, 'Site_Where_Served':places}
df = pd.DataFrame(d)
df
Person Service_Date Site_Where_Served
shayna 01-01-18 hospital
shayna 01-01-18 hospital
shayna 01-01-18 inpatient
shayna 01-02-18 hospital
john 01-02-18 hospital
Я хотел бы подсчитать уникальные пары Person и их Service_Date, сгруппированные по Site_Where_Served.
Ожидаемый результат:
Site_Where_Served Site_Visit_Count
hospital 3
inpatient 1
Моя попытка:
df[['Person', 'Service_Date']].groupby(df['Site_Where_Served']).nunique().reset_index(name='Site_Visit_Count')
Но тогда он не знает, как сбросить индекс.Итак, я попытался пропустить это и понял, что он не учитывает уникальную пару «Person» и «Service_Date», потому что результат выглядит следующим образом:
Person Service_Date
Site_Where_Served
hospital 2 2
inpatient 1 1