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





# 参考日期 reference_date = datetime.date(2018,4,1)# 向基表添加在网时长 basetable["lifetime"] = reference_date - basetable["member_since"] print(basetable.head())
donor_id member_since lifetime
1 2015-02-03 1153
2 2016-01-30 729
3 2016-02-23 768

donor_id start_valid_date end_valid_date contact_channel
1 2014-02-03 2016-03-04 "phone"
1 2016-03-04 2016-05-08 "e-mail"
2 2016-02-23 2026-02-23 "e-mail"
reference_date = datetime.date(2018,4,1)# 选择与参考日期一致的记录 contact_channel_reference_date = living_places[ (contact_channel["start_valid_date"]<=reference_date) & (living_places["end_valid_date"]>reference_date)]

# 将联系渠道加入基表
basetable =
pd.merge(
basetable,
living_places_reference_date[["donor_ID","contact_channel"]],
on="donor_ID"
)
print(basetable.head())
donor_id contact_channel
1 "phone"
2 "phone"
3 "e-mail"
Python 预测分析进阶