การวนซ้ำใน DataFrame
มาลองวนซ้ำใน DataFrame กัน! คุณมี DataFrame ชื่อ heroes ที่คุ้นเคยกันอยู่แล้ว คราวนี้จะมีเฉพาะข้อมูลประเภท categorical และไม่มีค่าที่หายไป โจทย์คือสร้าง dictionary ต่อไปนี้จากชุดข้อมูลนี้:
- แต่ละ key คือชื่อคอลัมน์
- แต่ละ value คือ dictionary อีกชั้นหนึ่ง:
- แต่ละ key คือหมวดหมู่ที่ไม่ซ้ำกันจากคอลัมน์นั้น
- แต่ละ value คือจำนวนฮีโร่ที่อยู่ในหมวดหมู่นั้น
เคล็ดลับ: ออบเจกต์ Series ก็เป็น Iterable เช่นกัน โดยจะวนซ้ำผ่านค่าที่เก็บอยู่เมื่อนำไปใช้ใน for loop หรือส่งให้กับ list(), tuple(), หรือ set()
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ฝึกทำโจทย์สัมภาษณ์งานเขียนโค้ดด้วย Python
คำแนะนำการฝึกหัด
- วนซ้ำผ่านคอลัมน์ต่าง ๆ ใน DataFrame
heroes - ดึงค่าที่เก็บอยู่ใน
seriesออกมาในรูปแบบ list - วนซ้ำผ่านหมวดหมู่ที่ไม่ซ้ำกันใน
values - นับจำนวนครั้งที่
categoryปรากฏในvalues
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
column_counts = dict()
# Traverse through the columns in the heroes DataFrame
for column_name, series in ____:
# Retrieve the values stored in series in a list form
values = ____(____)
category_counts = dict()
# Traverse through unique categories in values
for category in ____(values):
# Count the appearance of category in values
category_counts[category] = values.____(____)
column_counts[column_name] = category_counts
print(column_counts)