ÎncepețiÎncepe gratuit

Diferența absolută dintre doi ani

Ca o altă variabilă, poate vrei să adaugi diferența absolută dintre donațiile făcute în ultimul an (2017) și numărul de donații făcute în anul precedent (2016). Pentru a adăuga această variabilă în basetable, sunt construite pentru tine două dataframe-uri pandas, gifts_2016 și gifts_2017, care conțin donațiile făcute în 2016, respectiv 2017.

Amintește-ți că poți număra aparițiile dintr-un dataframe pandas df pentru fiecare id dintr-o coloană id folosind funcția groupby:

df_grouped = df.groupby("id")["value"].count().reset_index()

și că poți face un left join între două dataframe-uri df1 și df2 pe un merge_id dat folosind următorul cod:

merged_df = pd.merge(df1, df2, on=["merge_id"], how="left")

Acest exercițiu face parte din cursul

Analiză predictivă intermediară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează pentru fiecare donator din gifts_2016 numărul de donații făcute în 2016.
  • Calculează pentru fiecare donator din gifts_2017 numărul de donații făcute în 2017.
  • Adaugă numărul de donații făcute în 2016 și 2017 în basetable.
  • Calculează diferența dintre numărul de donații făcute în 2017 și 2016 în basetable.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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())
Editează și rulează codul