Python 预测分析进阶
Nele Verbiest Ph. D.
Senior Data Scientist @PythonPredictions




unsubscribe_2017[:5][90112, 65537, 24577, 8196, 73737]baseteable.head()
donor_id
0 65537
1 65538
2 4
3 98328
4 65564
basetable["target"] = pd.Series([1 if donor_id in unsubscribe_2017 else 0 \
for donor_id in basetable["donor_id"]])
print(gifts.head(2))
donor_id
0 65537
1 65538
# 目标期 start_target = datetime(year = 2017, month = 1, day = 1) end_target = datetime(year = 2018, month = 1, day = 1)# 选取目标期内的捐赠 gifts_target = gifts[(gifts["date"]>=start_target) & (gifts["date"]<end_target)]# 按捐赠者分组汇总金额 gifts_target_byid = gifts_target.groupby("id")["amount"].sum().reset_index()# 得出目标人群并加入基础表 targets = list(gifts_target_byid["id"][gifts_target_byid["amount"]>500])basetable["target"] = pd.Series([1 if donor_id in targets else 0 for donor_id in basetable["donor_id"]])
print(basetable.head())
donor_id target
0 65537 0
1 65538 1
2 65539 0
3 65540 1
4 65541 0
Python 预测分析进阶