Absolutní rozdíl mezi dvěma roky
Jako další proměnnou můžeš přidat absolutní rozdíl mezi počtem darů za poslední rok (2017) a počtem darů za rok předchozí (2016).
Pro přidání této proměnné do basetable jsou pro tebe připraveny dva pandas dataframy gifts_2016 a gifts_2017 s dary z roku 2016 a 2017.
Připomeň si, že počet výskytů v pandas dataframe df pro každé id ve sloupci id zjistíš pomocí funkce groupby:
df_grouped = df.groupby("id")["value"].count().reset_index()
a levé spojení dvou dataframů df1 a df2 podle klíče merge_id provedeš takto:
merged_df = pd.merge(df1, df2, on=["merge_id"], how="left")
Toto cvičení je součástí kurzu
Intermediate Predictive Analytics in Python
Pokyny k cvičení
- Pro každého dárce v
gifts_2016vypočítej počet darů za rok 2016. - Pro každého dárce v
gifts_2017vypočítej počet darů za rok 2017. - Přidej počty darů za rok 2016 a 2017 do basetable.
- Vypočítej rozdíl mezi počtem darů v roce 2017 a 2016 a přidej ho do basetable.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Number of gifts in 2016 and 2017 for each donor
gifts_2016_bydonor = gifts_2016.____("____").____().reset_index()
gifts_2016_bydonor.columns = ["donor_ID", "donations_2016"]
gifts_2017_bydonor = gifts_2017.____("____").____().reset_index()
gifts_2017_bydonor.columns = ["donor_ID", "donations_2017"]
# Add number of gifts in 2016 and 2017 to the basetable
basetable = pd.merge(____, ____, on="donor_ID", how="____")
basetable = pd.merge(____, ____, on="donor_ID", how="____")
# Calculate the number of gifts in 2017 minus number of gifts in 2016
basetable.fillna(0)
basetable["gifts_2017_min_2016"] = ____["____"] - ____["____"]
print(basetable.head())