ความใหม่ของการบริจาค
ตัวแปรที่น่าสนใจอีกอย่างที่ควรเพิ่มลงใน basetable คือ recency หรือระยะเวลาที่ผ่านมานับตั้งแต่การบริจาคครั้งล่าสุด กำหนดให้มี DataFrame สองตัวคือ basetable และ gifts ซึ่งเก็บข้อมูล basetable ในขั้นเริ่มต้นและของขวัญที่ผู้บริจาคได้บริจาคในช่วงเวลาต่าง ๆ ให้เพิ่ม recency เป็นหน่วยวันสำหรับผู้บริจาคแต่ละคนในกลุ่มประชากร
โปรดคำนึงถึง timeline ต่อไปนี้ที่ใช้ในการคำนวณ basetable:

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Predictive Analytics ระดับกลางด้วย Python
คำแนะนำการฝึกหัด
- ระบุวันที่อ้างอิง
- สร้าง pandas DataFrame ชื่อ
gifts_before_referenceที่เก็บข้อมูลของขวัญที่เกิดขึ้นก่อนวันที่อ้างอิง - สร้าง pandas DataFrame ชื่อ
last_giftที่เก็บข้อมูลการบริจาคครั้งล่าสุดของผู้บริจาคแต่ละคนในgifts_before_referenceแล้วเพิ่ม recency เป็นหน่วยวันลงในlast_gift - เพิ่ม recency นี้ลงใน basetable
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Reference date to calculate the recency
reference_date = datetime.date(____, ____, ____)
# Select gifts made before the reference date
gifts_before_reference = gifts[(gifts["date"] < ____)]
# Latest gift per donor in 2017
last_gift = gifts_before_reference.groupby(["____"])["____"].____().reset_index()
last_gift["recency"] = ____ - ____["____"]
# Add recency to the basetable
basetable = pd.merge(____, ____[["id", "recency"]], how="____")