ทำให้แพนด้าเร็วขึ้น 3 เท่าด้วย PyPolars
เรียนรู้วิธีเพิ่มความเร็วเวิร์กโฟลว์ Pandas ของคุณโดยใช้ไลบรารี PyPolars
By สัตยัมกุมาร, ผู้ที่ชื่นชอบแมชชีนเลิร์นนิง & โปรแกรมเมอร์
ภาพถ่ายโดย ทิมกูวา on Unsplash
Pandas เป็นหนึ่งในแพ็คเกจ Python ที่สำคัญที่สุดในหมู่นักวิทยาศาสตร์ด้านข้อมูลที่จะเล่นกับข้อมูล ห้องสมุด Pandas ส่วนใหญ่จะใช้สำหรับการสำรวจข้อมูลและการแสดงภาพ เนื่องจากมีฟังก์ชันในตัวมากมาย Pandas ล้มเหลวในการจัดการชุดข้อมูลขนาดใหญ่ เนื่องจากไม่มีการปรับขนาดหรือกระจายกระบวนการไปยังแกนประมวลผลทั้งหมดของ CPU
เพื่อเพิ่มความเร็วในการคำนวณ เราสามารถใช้แกนประมวลผลทั้งหมดของ CPU และเพิ่มความเร็วให้กับเวิร์กโฟลว์ มีไลบรารีโอเพ่นซอร์สมากมาย เช่น Dask, Vaex, Modin, Pandarallel, PyPolars เป็นต้น ที่ปรับการคำนวณแบบขนานกันในหลายคอร์ของ CPU ในบทความนี้ เราจะพูดถึงการใช้งานและการใช้งานของไลบรารี PyPolars และเปรียบเทียบประสิทธิภาพกับไลบรารี Pandas
PyPolar คืออะไร?
PyPolars เป็นไลบรารีเฟรมข้อมูล Python โอเพ่นซอร์สที่คล้ายกับ Pandas PyPolars ใช้คอร์ที่มีอยู่ทั้งหมดของ CPU และทำการคำนวณได้เร็วกว่า Pandas PyPolars มี API ที่คล้ายกับของ Pandas มันถูกเขียนขึ้นสนิมด้วยเครื่องห่อ Python
ตามหลักการแล้ว PyPolars จะใช้เมื่อข้อมูลใหญ่เกินไปสำหรับ Pandas และเล็กเกินไปสำหรับ Spark
PyPolars ทำงานอย่างไร?
ไลบรารี PyPolars มี API สองตัว ตัวหนึ่งคือ Eager API และอีกตัวคือ Lazy API Eager API นั้นคล้ายกับของ Pandas มากและผลลัพธ์จะเกิดขึ้นหลังจากการดำเนินการเสร็จสิ้นคล้ายกับ Pandas Lazy API นั้นคล้ายกับ Spark มาก โดยที่แผนที่หรือแผนจะถูกสร้างขึ้นเมื่อดำเนินการค้นหา จากนั้นการดำเนินการจะดำเนินการแบบคู่ขนานกันในทุกคอร์ของ CPU
(ภาพโดยผู้แต่ง), PyPolars API's
โดยพื้นฐานแล้ว PyPolars นั้นเหมือนกับ python ที่ผูกกับห้องสมุด Polars ส่วนที่ดีที่สุดของไลบรารี PyPolars คือความคล้ายคลึงของ API กับ Pandas ซึ่งทำให้นักพัฒนาซอฟต์แวร์ง่ายขึ้น
การติดตั้ง:
สามารถติดตั้ง PyPolars ได้จาก PyPl โดยใช้คำสั่งต่อไปนี้:
pip install py-polars
และนำเข้าห้องสมุดโดยใช้
import pypolars as pl
ข้อ จำกัด ด้านเวลามาตรฐาน:
สำหรับการสาธิต ฉันใช้ชุดข้อมูลขนาดใหญ่ (~6.4Gb) ที่มี 25 ล้านอินสแตนซ์
(ภาพโดยผู้แต่ง), Benchmark Time Number สำหรับการทำงานพื้นฐานของ Pandas และ Py-Polars
สำหรับตัวเลขเวลามาตรฐานข้างต้นสำหรับการดำเนินการพื้นฐานบางอย่างโดยใช้ไลบรารี Pandas และ PyPolars เราจะสังเกตได้ว่า PyPolars เร็วกว่า Pandas เกือบ 2 เท่าถึง 3 เท่า
ตอนนี้เรารู้แล้วว่า PyPolars มี API ที่คล้ายกับของ Pandas มาก แต่ก็ยังไม่ครอบคลุมถึงฟังก์ชันทั้งหมดของ Pandas ตัวอย่างเช่น เราไม่มี .describe()
ฟังก์ชันใน PyPolars แทน เราสามารถใช้ df_pypolars.to_pandas().describe()
การใช้งาน:
(รหัสโดยผู้เขียน)
สรุป:
ในบทความนี้ เราได้กล่าวถึงข้อมูลเบื้องต้นเล็กน้อยเกี่ยวกับไลบรารี PyPolars ซึ่งรวมถึงการใช้งาน การใช้งาน และการเปรียบเทียบตัวเลขเวลามาตรฐานกับ Pandas สำหรับการดำเนินการพื้นฐานบางอย่าง โปรดทราบว่า PyPolars ทำงานคล้ายกับของ Pandas มาก และ PyPolars เป็นไลบรารี่ที่มีประสิทธิภาพด้านหน่วยความจำ เนื่องจากหน่วยความจำที่สนับสนุนโดยมันไม่เปลี่ยนรูปแบบ
หนึ่งสามารถผ่าน เอกสาร เพื่อทำความเข้าใจรายละเอียดของห้องสมุด มีไลบรารีโอเพนซอร์ซอื่น ๆ มากมายที่สามารถทำให้การดำเนินการของ Pandas ขนานกันและเร่งกระบวนการได้ อ่าน บทความด้านล่าง เพื่อทราบ 4 ห้องสมุดดังกล่าว:
4 ห้องสมุดที่สามารถขนานกับระบบนิเวศ Pandas ที่มีอยู่ได้
กระจายปริมาณงาน Python โดยการประมวลผลแบบขนานโดยใช้เฟรมเวิร์กเหล่านี้
อ้างอิง:
[1] เอกสาร Polars และที่เก็บ GitHub: https://github.com/ritchie46/polars
ขอบคุณสำหรับการอ่าน
Bio: สัตยัมกุมาร เป็นผู้ที่ชื่นชอบการเรียนรู้ด้วยเครื่องและโปรแกรมเมอร์ สัตยัม เขียน เกี่ยวกับ Data Science และเป็นนักเขียนชั้นนำด้าน AI เขากำลังมองหาอาชีพที่ท้าทายกับองค์กรที่ให้โอกาสในการใช้ประโยชน์จากทักษะและความสามารถด้านเทคนิคของเขา
Original. โพสต์ใหม่โดยได้รับอนุญาต
ที่เกี่ยวข้อง
เรื่องเด่นใน 30 วันที่ผ่านมา
ที่มา: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- อัลกอริทึม
- ทั้งหมด
- ในหมู่
- API
- APIs
- รอบ
- บทความ
- รถยนต์
- มาตรฐาน
- ที่ดีที่สุด
- ร้านหนังสือเกาหลี
- ความก้าวหน้า
- อาชีพ
- รหัส
- ข้อมูล
- วิทยาศาสตร์ข้อมูล
- นักวิทยาศาสตร์ข้อมูล
- การสร้างภาพข้อมูล
- จัดการ
- นักพัฒนา
- วิศวกร
- ฯลฯ
- การปฏิบัติ
- GitHub
- ให้คำแนะนำ
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTTPS
- ภาพ
- รวมทั้ง
- IT
- ใหญ่
- เรียนรู้
- การเรียนรู้
- ห้องสมุด
- เรียนรู้เครื่อง
- แผนที่
- กลาง
- ไมโครซอฟท์
- วิจัยไมโครซอฟท์
- ล้าน
- แบบ
- ตัวเลข
- การดำเนินการ
- โอกาส
- อื่นๆ
- การปฏิบัติ
- ผลิต
- หลาม
- การอ่าน
- การวิจัย
- ผลสอบ
- สนิม
- ขนาด
- วิทยาศาสตร์
- ขนาด
- ทักษะ
- เล็ก
- ความเร็ว
- SQL
- เริ่มต้น
- จำนวนชั้น
- วิชาการ
- เวลา
- โทน
- ด้านบน
- การสร้างภาพ
- เวิร์กโฟลว์
- โรงงาน
- นักเขียน
- X