Parallel Computing Pandas with Dask

Punnaruck
Super AI Engineer
Published in
Mar 31, 2021

หลายคนคงเคยได้ยินคำว่า Parallel Computing หรือ Multiprocessing กันมาบ้าง แต่ถ้าใครยังไม่ทราบว่ามันคืออะไรสามารถอ่านจากบทความก่อนหน้านี้ได้ ที่นี่ ซึ่งในวันนี้ผมจะมาเล่าถึงวิธีการเพิ่มประสิทธิภาพในการใช้ Pandas ด้วย Dask

Dask คืออะไร? Dask คือ Library ที่ช่วยให้สามารถทำ Parallel Computing ใน Python ได้ ซึ่ง Dask สามารถทำงานร่วมกับ Library ได้หลายตัวเช่น Pandas, Numpy เป็นต้น แต่ในวันนี้ผมจะยกตัวอย่างในส่วนของ Pandas ที่จะทำให้ Pandas ทำงานได้รวดเร็วขึ้นหลายเท่าตัว

เริ่มต้นการใช้งาน

Importing the Libraries

ทดสอบการอ่านไฟล์ระหว่าง Pandas กับ Dask

Read file with Pandas
Read file with Dask

จากรูปด้านบนจะเห็นว่าการอ่านไฟล์ csv ให้เป็น Dataframe ระหว่าง Pandas กับ Dask ใช้เวลาต่างกันค่อนข้างเยอะ โดย Pandas ใช้เวลาไปเกือบ 5 นาที แต่ Dask ใช้เวลาเพียง 0.2 ms

ทดสอบการ Appending file

Append file with Pandas
Append file with Dask

ผลที่ได้คือ Pandas ใช้เวลาโดยรวมไปเกือบ 9 นาที แต่ Dask ใช้เวลาไม่ถึง 1 วินาที

ทดสอบการ Grouping Data

Grouping data with Pandas
Grouping data with Dask

ผลที่ได้ก็เช่นเคย Dask ใช้เวลาไม่ถึง 1 วินาที แต่ Pandas ใช้เวลามากถึง 6 นาที

สรุป

จากตัวอย่างข้างต้นจะแสดงให้เห็นว่าเราสามารถใช้ Dask แทน Pandas ได้ในกรณีที่ต้องการประมวลผลข้อมูลขนาดใหญ่ ซึ่ง Dask ให้ประสิทธิภาพมากกว่า Pandas หลายเท่าตัว

และหวังหว่าสุดท้ายนี้ บทความนี้คงเป็นประโยชน์ต่อเพื่อนๆได้บ้าง ไม่มากก็น้อย

Credits

https://towardsdatascience.com/pandas-with-dask-for-an-ultra-fast-notebook-e2621c3769f

--

--