การใช้ vectorization ใน pandas
ในแบบฝึกหัดนี้ จะได้ฝึกใช้ vectorization กับ pandas series เพื่อ:
- คำนวณค่าเฉลี่ยของแต้มไพ่ทุกใบในแต่ละมือ (แถว)
- คำนวณค่าเฉลี่ยของไพ่แต่ละใบใน 5 ใบจากทุกมือ (คอลัมน์)
จะใช้ชุดข้อมูล poker_hands อีกครั้งเพื่อเปรียบเทียบประสิทธิภาพของทั้งสองวิธี
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนโค้ดที่มีประสิทธิภาพด้วย pandas
คำแนะนำการฝึกหัด
- คำนวณค่าเฉลี่ยของแต้มไพ่ในแต่ละมือ
- คำนวณค่าเฉลี่ยของไพ่แต่ละใบใน 5 ใบจากทุกมือ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate the mean rank in each hand
row_start_time = time.time()
mean_r = poker_hands[['R1', 'R2', 'R3', 'R4', 'R5']].____(axis=____)
print("Time using pandas vectorization for rows: {} sec".format(time.time() - row_start_time))
print(mean_r.head())
# Calculate the mean rank of each of the 5 card in all hands
col_start_time = time.time()
mean_c = poker_hands[['R1', 'R2', 'R3', ____, ____]].____(____=____)
print("Time using pandas vectorization for columns: {} sec".format(time.time() - col_start_time))
print(mean_c.head())