การสุ่มเลือกแถว
ในแบบฝึกหัดนี้ จะได้เปรียบเทียบสองวิธีในการสุ่มเลือกแถว (รายการข้อมูล) แบบมีการคืนค่าใน DataFrame ของ pandas:
- ฟังก์ชันในตัวของ
pandasอย่าง.sample() - ตัวสร้างจำนวนเต็มสุ่มของ
NumPyอย่างnp.random.randint()
โดยทั่วไปในสาขาสถิติและ machine learning เมื่อต้องการฝึกอัลกอริทึม เราจะใช้ข้อมูล 75% สำหรับการฝึก แล้วทดสอบประสิทธิภาพกับข้อมูลที่เหลืออีก 25%
ในแบบฝึกหัดนี้ จะสุ่มตัวอย่างข้อมูลไพ่โป๊กเกอร์ที่มีอยู่ทั้งหมด 75% โดยใช้แต่ละวิธีข้างต้น แล้วตรวจสอบว่าวิธีใดมีประสิทธิภาพด้านความเร็วมากกว่ากัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโค้ดที่มีประสิทธิภาพด้วย pandas
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Extract number of rows in dataset
N=poker_hands.shape[0]
# Select and time the selection of the 75% of the dataset's rows
rand_start_time = time.time()
poker_hands.iloc[np.random.randint(____=0, high=____, ____=int(0.75 * N))]
print("Time using Numpy: {} sec".format(time.time() - rand_start_time))