แยกโค้ดออกเป็นฟังก์ชัน
ระหว่างพัฒนาโมเดลสำหรับพยากรณ์การสำเร็จการศึกษา คุณเขียนโค้ดด้านล่างเพื่อคำนวณ z-score ของ GPA รายปีของนักศึกษา (z-score บอกว่าค่าห่างจากค่าเฉลี่ยกี่ส่วนเบี่ยงเบนมาตรฐาน) ตอนนี้ถึงเวลาปรับโค้ดให้พร้อมใช้งานจริง จึงต้องแก้ปัญหาโค้ดที่ซ้ำกัน การเขียนฟังก์ชันสำหรับคำนวณ z-score จะช่วยให้โค้ดดีขึ้นได้
# Standardize the GPAs for each year
df['y1_z'] = (df.y1_gpa - df.y1_gpa.mean()) / df.y1_gpa.std()
df['y2_z'] = (df.y2_gpa - df.y2_gpa.mean()) / df.y2_gpa.std()
df['y3_z'] = (df.y3_gpa - df.y3_gpa.mean()) / df.y3_gpa.std()
df['y4_z'] = (df.y4_gpa - df.y4_gpa.mean()) / df.y4_gpa.std()
หมายเหตุ: df คือ pandas DataFrame ที่แต่ละแถวแทนนักศึกษา 1 คน และมี 4 คอลัมน์สำหรับ GPA รายปี ได้แก่ y1_gpa, y2_gpa, y3_gpa, y4_gpa
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนฟังก์ชันใน Python
คำแนะนำการฝึกหัด
- เติมโค้ดในฟังก์ชันให้สมบูรณ์เพื่อให้คืนค่า z-score ของคอลัมน์ที่ระบุ
- ใช้ฟังก์ชันนี้คำนวณ z-score สำหรับแต่ละปี (
df['y1_z'],df['y2_z']และอื่น ๆ) จากคะแนน GPA ดิบ (df.y1_gpa,df.y2_gpaและอื่น ๆ)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def standardize(column):
"""Standardize the values in a column.
Args:
column (pandas Series): The data to standardize.
Returns:
pandas Series: the values as z-scores
"""
# Finish the function so that it returns the z-scores
z_score = (____ - ____.____()) / ____.____()
return z_score
# Use the standardize() function to calculate the z-scores
df['y1_z'] = ____
df['y2_z'] = ____
df['y3_z'] = ____
df['y4_z'] = ____