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

การใช้งาน .apply() เบื้องต้น

มาลองฝึกใช้ .apply() กัน!

ชุดข้อมูล scores ที่ให้มานั้นประกอบด้วยผลการเรียนของนักเรียนและข้อมูลพื้นฐานของพวกเขา

โจทย์คือให้นิยามฟังก์ชัน prevalence() แล้วนำไปใช้กับคอลัมน์ใน groups_to_consider ของ DataFrame scores ฟังก์ชันนี้ควรดึงกลุ่ม/หมวดหมู่ที่พบบ่อยที่สุดสำหรับคอลัมน์ที่กำหนด (เช่น หากหมวดหมู่ที่พบบ่อยที่สุดในคอลัมน์ lunch คือ standard ฟังก์ชัน prevalence() ควรคืนค่า standard)

ฟังก์ชัน reduce() จากโมดูล functools ถูก import ไว้ให้แล้ว

เคล็ดลับ: pd.Series เป็น Iterable object ดังนั้นจึงสามารถใช้การดำเนินการมาตรฐานกับมันได้

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

ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python

ดูคอร์ส

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

  • สร้างลิสต์ของ tuple ที่ประกอบด้วยรายการที่ไม่ซ้ำกันจากออบเจ็กต์ series ที่รับเข้ามา พร้อมจำนวนนับของแต่ละรายการ
  • ดึง tuple ที่มีจำนวนนับสูงสุดโดยใช้ reduce()
  • คืนค่ารายการที่มีจำนวนนับสูงสุด
  • นำฟังก์ชัน prevalence ไปใช้กับ DataFrame scores โดยระบุคอลัมน์ใน groups_to_consider

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

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

def prevalence(series):
    vals = list(series)
    # Create a tuple list with unique items and their counts
    itms = [(____, ____) for x in set(____)]
    # Extract a tuple with the highest counts using reduce()
    res = reduce(lambda x, y: ____, ____)
    # Return the item with the highest counts
    return ____[____]

# Apply the prevalence function on the scores DataFrame
result = scores[groups_to_consider].____
print(result)
แก้ไขและรันโค้ด