Maximale waarde vorig jaar
Vervolgens wil je het maximale bedrag dat een donateur in 2017, maar vóór 1 mei 2017, heeft gedoneerd toevoegen aan de basistabel. Je hebt een paar objecten beschikbaar: basetable bevat de donateur-IDs van de populatie, en gifts bevat giften die donateurs in de tijd hebben gedaan. Voeg voor elke donateur in de populatie het maximale bedrag dat deze donateur in 2017 heeft gedoneerd toe aan basetable.
Deze oefening maakt deel uit van de cursus
Gevorderde voorspellende analyse in Python
Oefeninstructies
- Vul de start- en einddatum in van de periode waarover je het maximum wilt nemen.
- Selecteer giften gedaan in 2017 met deze start- en einddata in de dataframe
gifts_2017. - Maak een pandas-dataframe met het maximale bedrag per donateur in
gifts_2017. - Voeg dit maximale bedrag toe aan de
basetable.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Start and end date of the aggregation period
start_date = datetime.date(____, ____, ____)
end_date = datetime.date(____, ____, ____)
# Select gifts made in 2017
gifts_2017 = gifts[(gifts["____"] >= ____) & (gifts["____"] < ____)]
# Maximum gift per donor in 2017
gifts_2017_bydonor = gifts_2017.groupby(["____"])["____"].____().reset_index()
gifts_2017_bydonor.columns = ["donor_ID", "max_amount"]
# Add maximum amount to the basetable
basetable = pd.merge(____, ____)