计算汇总后的目标变量
假设您要构建一个预测模型,用于预测哪些捐赠人在某个月更可能捐出超过 50 欧元。
给定基表 basetable,它已经为总体中的每位捐赠人各包含一行,其中 donor_id 列表示捐赠人。时间线要求:如果该捐赠人在 2017 年 1 月捐赠总额超过 50 欧元,则目标为 1,否则为 0。
pandas 数据框 gifts_201701 包含 2017 年 1 月的全部捐赠记录。在本练习中,您将把目标列添加到基表中。
本练习是课程的一部分
Python 预测分析进阶
练习说明
- 构建
gifts_summed,对gifts_201701中每位捐赠人的捐赠金额求和。 - 基于
gifts_summed派生出列表targets,其中包含在目标期内捐赠超过 50 欧元的捐赠人。 - 将目标添加到基表中。
- 计算并打印目标发生率。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Sum of donations for each donor in gifts_201701
gifts_summed = ____.groupby("____")["____"].____().reset_index()
# List with targets
targets = list(gifts_summed["id"][____["____"] > ____])
# Add targets to the basetable
basetable["target"] = pd.Series([____ if donor_id in targets else ____ for donor_id in basetable["donor_id"]])
# Calculate and print the target incidence
print(round(____["____"].____() / ____(____), 2))