Jadikan Panda 3 Kali Lebih Cepat dengan PyPolars

Node Sumber: 1854103

Jadikan Panda 3 Kali Lebih Cepat dengan PyPolars

Pelajari cara mempercepat alur kerja Panda Anda menggunakan pustaka PyPolars.


By Satyam Kumar, Penggemar & Pemrogram Pembelajaran Mesin



Foto oleh Tim Gouw on Unsplash

 

Pandas adalah salah satu paket Python terpenting di antara ilmuwan data untuk bermain-main dengan data. Pustaka Panda sebagian besar digunakan untuk eksplorasi dan visualisasi data karena dilengkapi dengan banyak fungsi bawaan. Panda gagal menangani kumpulan data berukuran besar karena tidak menskalakan atau mendistribusikan prosesnya ke semua inti CPU.

Untuk mempercepat komputasi, seseorang dapat memanfaatkan semua inti CPU dan mempercepat alur kerja. Ada berbagai perpustakaan sumber terbuka termasuk Dask, Vaex, Modin, Pandarallel, PyPolars, dll yang memparalelkan perhitungan di beberapa inti CPU. Pada artikel ini, kita akan membahas implementasi dan penggunaan library PyPolars dan membandingkan kinerjanya dengan library Pandas.

Apa itu PyPolar?

 
PyPolars adalah pustaka bingkai data Python sumber terbuka yang mirip dengan Pandas. PyPolars menggunakan semua inti CPU yang tersedia dan karenanya melakukan komputasi lebih cepat daripada Pandas. PyPolars memiliki API yang mirip dengan Pandas. Itu ditulis dalam karat dengan pembungkus Python.


Idealnya, PyPolars digunakan saat data terlalu besar untuk Panda dan terlalu kecil untuk Spark


Bagaimana PyPolar Bekerja?

 
Pustaka PyPolars memiliki dua API, satu adalah Eager API dan yang lainnya adalah Lazy API. Eager API sangat mirip dengan Pandas, dan hasilnya dihasilkan tepat setelah eksekusi selesai mirip dengan Pandas. Lazy API sangat mirip dengan Spark, di mana peta atau rencana dibentuk setelah eksekusi kueri. Kemudian eksekusi dieksekusi secara paralel di semua inti CPU.



(Gambar oleh Penulis), API PyPolars

 

PyPolars pada dasarnya adalah sebagai python yang mengikat ke perpustakaan Polars. Bagian terbaik dari pustaka PyPolars adalah kesamaan API-nya dengan Pandas, yang memudahkan pengembang.

instalasi:

 
PyPolars dapat diinstal dari PyPl menggunakan perintah berikut:

pip install py-polars


dan impor perpustakaan menggunakan

import pypolars as pl


Batasan Waktu Tolok Ukur:


Untuk demonstrasi, saya telah menggunakan kumpulan data ukuran besar (~6.4Gb) yang memiliki 25 juta instans.




(Gambar oleh Penulis), Nomor Waktu Tolok Ukur untuk operasi dasar Panda dan Py-Polar

 

Untuk angka waktu patokan di atas untuk beberapa operasi dasar menggunakan perpustakaan Pandas dan PyPolars, kita dapat mengamati bahwa PyPolars hampir 2x hingga 3x lebih cepat daripada Pandas.

Sekarang kita tahu bahwa PyPolars memiliki API yang sangat mirip dengan Pandas, tetapi tetap saja, itu tidak mencakup semua fungsi Pandas. Misalnya, kita tidak punya .describe() fungsi di PyPolars, sebagai gantinya, kita dapat menggunakan df_pypolars.to_pandas().describe()

Pemakaian:

 

(Kode oleh Penulis)

Kesimpulan:

 
Dalam artikel ini, kami telah membahas sedikit pengenalan pustaka PyPolars, termasuk penerapannya, penggunaan, dan membandingkan angka waktu patokannya dengan Pandas untuk beberapa operasi dasar. Perhatikan bahwa PyPolars bekerja sangat mirip dengan Pandas, dan PyPolars adalah perpustakaan yang hemat memori karena memori yang didukung olehnya tidak dapat diubah.

Seseorang dapat melewati dokumentasi Untuk mengetahui pengertian perpustakaan secara detail. Ada berbagai pustaka sumber terbuka lainnya yang dapat memparalelkan operasi Pandas dan mempercepat prosesnya. Membaca artikel yang disebutkan di bawah ini untuk mengetahui 4 perpustakaan tersebut:

4 Library yang dapat memparalelkan ekosistem Panda yang ada
Distribusikan beban kerja Python dengan pemrosesan paralel menggunakan kerangka kerja ini

 
Referensi:

[1] Dokumentasi Polars dan repositori GitHub: https://github.com/ritchie46/polars

 
Terima kasih telah membaca

 
Bio: Satyam Kumar adalah Penggemar & Programmer Pembelajaran Mesin. satyam menulis tentang Ilmu Data, dan merupakan Penulis Teratas dalam AI. Dia mencari karir yang menantang dengan organisasi yang memberikan kesempatan untuk memanfaatkan keterampilan dan kemampuan teknisnya.

Original. Diposting ulang dengan izin.

Terkait:

Sumber: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html

Stempel Waktu:

Lebih dari KDnugget