ComeçarComece de graça

Diferença absoluta entre dois anos

Como outra variável, você pode querer adicionar a diferença absoluta entre o número de doações feitas no último ano (2017) e o número de doações feitas no ano anterior (2016). Para adicionar essa variável ao basetable, dois dataframes do pandas, gifts_2016 e gifts_2017, com as doações feitas em 2016 e 2017, respectivamente, já foram construídos para você.

Lembre-se de que você pode contar as ocorrências em um dataframe do pandas df para cada id em uma coluna id usando a função groupby:

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

e que você pode fazer um left join entre dois dataframes df1 e df2 usando um merge_id com o seguinte código:

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

Este exercício faz parte do curso

Análise Preditiva Intermediária em Python

Ver curso

Instruções do exercício

  • Calcule, para cada doador em gifts_2016, o número de doações feitas em 2016.
  • Calcule, para cada doador em gifts_2017, o número de doações feitas em 2017.
  • Adicione o número de doações feitas em 2016 e 2017 à basetable.
  • Calcule, na basetable, a diferença entre o número de doações feitas em 2017 e em 2016.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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())
Editar e executar o código