Apakah akurat untuk mengklaim bahwa pustaka Polars yang baru melampaui Pandas dalam berbagai tolok ukur, atau apakah pustaka Pandas masih menjadi pilihan yang dominan?

Saat melakukan tugas analisis data, kemungkinan Anda pernah bertemu Panda. Itu telah menjadi perpustakaan paling dominan dalam analisis data untuk waktu yang lama. Sebaliknya, Polars adalah perpustakaan yang relatif baru yang membanggakan kinerja tinggi dan efisiensi memori. Tapi, mana yang lebih baik?

Di sini, Anda akan melihat perbandingan performa antara Panda dan Polar di berbagai tugas manipulasi data umum.

Mengukur Performa: Kumpulan Data Metrik dan Tolok Ukur

Perbandingan ini akan mempertimbangkan kemampuan Panda dan Kutub library untuk memanipulasi dataset Black Friday Sale Kaggle. Dataset ini berisi 550.068 baris data. Ini mencakup informasi tentang demografi pelanggan, riwayat pembelian, dan detail produk.

Untuk memastikan pengukuran kinerja yang adil, perbandingan akan menggunakan waktu eksekusi sebagai metrik kinerja standar pada setiap tugas. Platform untuk menjalankan kode untuk setiap tugas perbandingan adalah Google Colab.

instagram viewer

Kode sumber lengkap yang membandingkan pustaka Pandas dan Polars tersedia di a repositori GitHub.

Membaca Data Dari File CSV

Tugas ini membandingkan waktu yang dibutuhkan setiap perpustakaan untuk membaca data dari set data Black Friday Sale. Datasetnya masuk format CSV. Panda dan Polar menawarkan fungsionalitas serupa untuk tugas ini.

Panda membutuhkan waktu dua kali lipat waktu yang dibutuhkan Polar untuk membaca data dalam kumpulan data Black Friday Sale.

Memilih Kolom

Tugas ini mengukur waktu yang diperlukan untuk setiap pustaka untuk memilih kolom dari kumpulan data. Ini melibatkan memilih Identitas pengguna Dan Pembelian kolom.

Polar membutuhkan waktu yang jauh lebih sedikit untuk memilih kolom dari kumpulan data dibandingkan dengan Panda.

Menyaring Baris

Tugas ini membandingkan kinerja setiap pustaka dalam memfilter baris di mana Jenis kelamin kolom adalah F dari dataset.

Polar membutuhkan waktu yang sangat singkat dibandingkan dengan Panda untuk menyaring baris.

Pengelompokan dan Agregasi Data

Tugas ini melibatkan pengelompokan data berdasarkan satu atau beberapa kolom. Kemudian, melakukan beberapa fungsi agregasi pada grup. Ini mengukur waktu yang diperlukan untuk setiap perpustakaan untuk mengelompokkan data berdasarkan Jenis kelamin kolom dan menghitung jumlah pembelian rata-rata untuk setiap kelompok.

Sekali lagi, Polar mengungguli Panda. Tapi marginnya tidak sebesar filter baris.

Menerapkan Fungsi ke Data

Tugas ini melibatkan penerapan fungsi ke satu atau beberapa kolom. Ini mengukur waktu yang diperlukan untuk setiap perpustakaan untuk mengalikan Pembelian kolom dengan 2.

Anda hampir tidak dapat melihat bilah Polars. Kutub sekali lagi mengungguli Panda.

Menggabungkan Data

Tugas ini melibatkan menggabungkan dua atau lebih DataFrames atas dasar bahwa satu atau lebih kolom umum ada. Ini mengukur waktu yang diperlukan untuk setiap perpustakaan untuk menggabungkan Identitas pengguna Dan Pembelian kolom dari dua DataFrames terpisah.

Kedua perpustakaan membutuhkan waktu untuk menyelesaikan tugas ini. Tapi Polars membutuhkan hampir separuh waktu yang dibutuhkan Panda untuk menggabungkan data.

Mengapa Polars Mampu Mengungguli Panda?

Dalam semua tugas manipulasi data di atas, Polar mengungguli Panda. Ada beberapa alasan mengapa Polar dapat mengungguli Panda dalam waktu eksekusi.

  • Pengoptimalan Memori: Polars menggunakan Rust, bahasa pemrograman sistem yang mengoptimalkan penggunaan memori. Ini memungkinkan Polars meminimalkan waktu yang dihabiskan untuk alokasi memori dan dealokasi. Ini membuat waktu eksekusi lebih cepat.
  • Operasi SIMD (Single Instruction Multiple Data).: Polars menggunakan operasi SIMD untuk melakukan komputasi pada data. Ini berarti dapat menggunakan satu instruksi untuk melakukan operasi yang sama pada beberapa elemen data secara bersamaan. Hal ini memungkinkan Polars melakukan operasi jauh lebih cepat daripada Pandas, yang menggunakan pendekatan single-threaded.
  • Evaluasi Malas: Polars menggunakan evaluasi malas untuk menunda pelaksanaan operasi hingga membutuhkannya. Ini mengurangi jumlah waktu yang dihabiskan Polars untuk pengoperasian yang tidak perlu dan meningkatkan kinerja.

Perluas Keterampilan Ilmu Data Anda

Ada banyak pustaka Python di luar sana yang dapat membantu Anda dalam ilmu data. Panda dan Polar hanyalah sebagian kecil. Untuk meningkatkan kinerja program, Anda harus membiasakan diri dengan lebih banyak pustaka ilmu data. Ini akan membantu Anda membandingkan dan memilih pustaka mana yang paling sesuai dengan kasus penggunaan Anda.