Parallel Computing Pandas with Dask
หลายคนคงเคยได้ยินคำว่า Parallel Computing หรือ Multiprocessing กันมาบ้าง แต่ถ้าใครยังไม่ทราบว่ามันคืออะไรสามารถอ่านจากบทความก่อนหน้านี้ได้ ที่นี่ ซึ่งในวันนี้ผมจะมาเล่าถึงวิธีการเพิ่มประสิทธิภาพในการใช้ Pandas ด้วย Dask
Dask คืออะไร? Dask คือ Library ที่ช่วยให้สามารถทำ Parallel Computing ใน Python ได้ ซึ่ง Dask สามารถทำงานร่วมกับ Library ได้หลายตัวเช่น Pandas, Numpy เป็นต้น แต่ในวันนี้ผมจะยกตัวอย่างในส่วนของ Pandas ที่จะทำให้ Pandas ทำงานได้รวดเร็วขึ้นหลายเท่าตัว
เริ่มต้นการใช้งาน
Importing the Libraries
ทดสอบการอ่านไฟล์ระหว่าง Pandas กับ Dask
จากรูปด้านบนจะเห็นว่าการอ่านไฟล์ csv ให้เป็น Dataframe ระหว่าง Pandas กับ Dask ใช้เวลาต่างกันค่อนข้างเยอะ โดย Pandas ใช้เวลาไปเกือบ 5 นาที แต่ Dask ใช้เวลาเพียง 0.2 ms
ทดสอบการ Appending file
ผลที่ได้คือ Pandas ใช้เวลาโดยรวมไปเกือบ 9 นาที แต่ Dask ใช้เวลาไม่ถึง 1 วินาที
ทดสอบการ Grouping Data
ผลที่ได้ก็เช่นเคย Dask ใช้เวลาไม่ถึง 1 วินาที แต่ Pandas ใช้เวลามากถึง 6 นาที
สรุป
จากตัวอย่างข้างต้นจะแสดงให้เห็นว่าเราสามารถใช้ Dask แทน Pandas ได้ในกรณีที่ต้องการประมวลผลข้อมูลขนาดใหญ่ ซึ่ง Dask ให้ประสิทธิภาพมากกว่า Pandas หลายเท่าตัว
และหวังหว่าสุดท้ายนี้ บทความนี้คงเป็นประโยชน์ต่อเพื่อนๆได้บ้าง ไม่มากก็น้อย
Credits
https://towardsdatascience.com/pandas-with-dask-for-an-ultra-fast-notebook-e2621c3769f