เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ผลต่างสัมบูรณ์ระหว่างสองปี

ตัวแปรอีกตัวที่น่าสนใจคือผลต่างสัมบูรณ์ระหว่างจำนวนการบริจาคในปีล่าสุด (2017) กับจำนวนการบริจาคในปีก่อนหน้า (2016) เพื่อเพิ่มตัวแปรนี้ลงใน basetable มี pandas dataframe สองชุดที่เตรียมไว้ให้แล้ว ได้แก่ gifts_2016 และ gifts_2017 ซึ่งเก็บข้อมูลการบริจาคในปี 2016 และ 2017 ตามลำดับ

ทบทวนวิธีนับจำนวนครั้งที่ปรากฏใน pandas dataframe df สำหรับแต่ละ id ในคอลัมน์ id โดยใช้ฟังก์ชัน groupby:

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

และวิธี left join dataframe สองชุด df1 และ df2 บน merge_id ที่กำหนด:

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

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Predictive Analytics ระดับกลางด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • คำนวณจำนวนการบริจาคในปี 2016 สำหรับผู้บริจาคแต่ละรายใน gifts_2016
  • คำนวณจำนวนการบริจาคในปี 2017 สำหรับผู้บริจาคแต่ละรายใน gifts_2017
  • เพิ่มจำนวนการบริจาคในปี 2016 และ 2017 ลงใน basetable
  • คำนวณผลต่างระหว่างจำนวนการบริจาคในปี 2017 และ 2016 แล้วเพิ่มลงใน basetable

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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())
แก้ไขและรันโค้ด