การเลือกแถว: loc[] กับ iloc[]
การทำงานกับ DataFrame ส่วนใหญ่เกี่ยวข้องกับการค้นหาข้อมูลที่ต้องการในชุดข้อมูล โดยสามารถเลือกแถวได้ 2 วิธี:
- ตามค่าเฉพาะของคอลัมน์ (feature)
- ตาม index ของแถว ในแบบฝึกหัดนี้ เราจะเน้นที่วิธีที่สอง
หากเคยใช้ pandas มาก่อน คุณน่าจะคุ้นเคยกับ .loc และ .iloc ซึ่งย่อมาจาก 'location' และ 'index location' ตามลำดับ โดยทั่วไป index จะมีค่าเดียวกับตำแหน่งของแต่ละแถวใน DataFrame (เช่น แถวที่มี index 13 จะเป็นรายการที่ 14)
แม้ทั้งสองฟังก์ชันจะทำงานได้ผลลัพธ์เดียวกัน แต่เราสนใจว่าวิธีใดมีประสิทธิภาพด้านความเร็วมากกว่ากัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโค้ดที่มีประสิทธิภาพด้วย pandas
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define the range of rows to select: row_nums
row_nums = range(0, 1000)
# Select the rows using .loc[] and row_nums and record the time before and after
loc_start_time = time.time()
rows = poker_hands.____[____]
loc_end_time = ___
# Print the time it took to select the rows using .loc[]
print("Time using .loc[]: {} sec".format(___ - ___))