อาร์กิวเมนต์เพิ่มเติม
มาลองใช้อาร์กิวเมนต์เพิ่มเติมในเมธอด .apply() กัน!
โจทย์คือให้สร้างคอลัมน์ใหม่ 2 คอลัมน์ใน scores:
meanคือค่าเฉลี่ยตามแถวของคะแนนคณิตศาสตร์ คะแนนการอ่าน และคะแนนการเขียนrankบอกว่าคะแนนmeanอยู่ในระดับใด:'high'ถ้าค่าเฉลี่ย \(> 90\)'medium'ถ้าค่าเฉลี่ย \(> 60\) แต่ \(\leq\) 90'low'ถ้าค่าเฉลี่ย \(\leq 60\)
ในการทำโจทย์นี้ ให้นิยามฟังก์ชัน rank ที่รับ series เป็น input แล้วคืนค่าเป็น list ที่มีสองค่า ได้แก่ ค่าเฉลี่ยของ series และ string ที่กำหนดตามเงื่อนไขข้างต้น
โมดูล numpy ถูก import ให้แล้วในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python
คำแนะนำการฝึกหัด
- คำนวณค่าเฉลี่ยของ series ที่รับเข้ามา
- คืนค่าเฉลี่ยและระดับคะแนนเป็น list
- นำผลลัพธ์ของ
rank()ไปแทรกเป็นคอลัมน์ใหม่ในscores
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def rank(series):
# Calculate the mean of the input series
mean = ____
# Return the mean and its rank as a list
if ____:
return ____
if ____:
return ____
return ____
# Insert the output of rank() into new columns of scores
cols = ['math score', 'reading score', 'writing score']
scores[['mean', 'rank']] = scores[cols].____
print(scores[['mean', 'rank']].head())