Lewati ke konten utama

Pengantar Polars: Alat Python untuk Analisis Data Skala Besar

Jelajahi Polars, pustaka Python yang tangguh untuk manipulasi dan analisis data berkinerja tinggi. Pelajari fitur-fiturnya, keunggulannya dibandingkan pandas, dan bagaimana ia dapat merevolusi proses analisis data Anda.
Diperbarui 28 Sep 2026  · 9 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Di dunia analisis data, Python populer karena fleksibilitas dan ekosistem pustakanya yang luas. Manipulasi data dan analisis berperan penting dalam menggali wawasan dan membuat keputusan berbasis informasi. Namun, seiring bertambahnya ukuran dan kompleksitas dataset, kebutuhan akan solusi berkinerja tinggi menjadi krusial.

Mengelola dataset besar secara efisien membutuhkan alat yang mampu memberikan komputasi cepat dan operasi yang dioptimalkan. Di sinilah Polars hadir. Polars adalah pustaka open-source yang kuat, dirancang khusus untuk manipulasi dan analisis data berkinerja tinggi di Python.

Fitur Polars

Polars adalah pustaka DataFrame yang sepenuhnya ditulis dalam Rust dan dibangun untuk memberdayakan pengembang Python dengan kerangka kerja yang skalabel dan efisien untuk menangani data, serta dianggap sebagai alternatif dari pustaka pandas yang sangat populer. Pustaka ini menyediakan beragam fungsionalitas yang memudahkan berbagai tugas manipulasi dan analisis data. Beberapa fitur dan keunggulan utama Polars meliputi:

1. Kecepatan dan performa

Polars direkayasa dengan mengutamakan performa. Ia memanfaatkan pemrosesan paralel dan teknik optimasi memori, sehingga mampu memproses dataset besar jauh lebih cepat daripada metode tradisional.

2. Kemampuan manipulasi data

Polars menyediakan seperangkat alat lengkap untuk manipulasi data, mencakup operasi penting seperti memfilter, mengurutkan, mengelompokkan, menggabungkan, dan mengagregasi data. Walau fungsionalitas Polars belum seluas pandas karena relatif baru, ia mencakup sekitar 80% operasi umum yang ada di Pandas.

3. Sintaksis ekspresif

Polars menggunakan sintaksis yang ringkas dan intuitif, sehingga mudah dipelajari dan digunakan. Sintaksisnya mengingatkan pada pustaka Python populer seperti pandas, memungkinkan pengguna beradaptasi cepat dengan Polars dan memanfaatkan pengetahuan yang sudah dimiliki.

4. Struktur DataFrame dan series

Inti dari Polars adalah struktur DataFrame dan Series, yang memberikan abstraksi yang familier dan kuat untuk bekerja dengan data tabular. Operasi DataFrame di Polars dapat dirangkai, sehingga memungkinkan transformasi data yang efisien dan ringkas.

5. Polars mendukung evaluasi malas (lazy evaluation)

Polars mengadopsi evaluasi malas, yaitu menelaah dan mengoptimalkan kueri untuk meningkatkan performa dan meminimalkan konsumsi memori. Saat bekerja dengan Polars, pustaka ini menganalisis kueri Anda dan mencari peluang untuk mempercepat eksekusi atau mengurangi penggunaan memori. Sebaliknya, Pandas hanya mendukung evaluasi eager, di mana ekspresi langsung dievaluasi saat ditemukan.

Mengapa Memilih Polars Saat Kita Sudah Memiliki pandas?

pandas, pustaka yang banyak diadopsi, dikenal karena fleksibilitas dan kemudahan penggunaannya. Namun, saat menangani dataset besar, Pandas dapat mengalami hambatan performa karena bergantung pada eksekusi single-threaded. Seiring membesarnya ukuran dataset, waktu pemrosesan bisa menjadi sangat lama, sehingga membatasi produktivitas.

Polars dirancang khusus untuk menangani dataset besar secara efisien. Dengan strategi evaluasi malas dan kemampuan eksekusi paralelnya, Polars unggul dalam memproses data dalam jumlah besar dengan cepat. Dengan mendistribusikan komputasi ke beberapa inti CPU, Polars memanfaatkan paralelisme untuk memberikan peningkatan performa yang mengesankan. Lihat uji perbandingan kecepatan antara Pandas dan Polars oleh Yuki.

image4.png

Sumber Gambar

Untuk perbandingan lengkap Polars vs pandas, lihat artikel terpisah kami.

Menginstal Polars

Polars dapat diinstal melalui pip, manajer paket Python. Buka antarmuka baris perintah Anda dan jalankan perintah berikut:

install polars

Memuat Dataset di Polars

Polars menyediakan metode yang praktis untuk memuat data dari berbagai sumber, termasuk file CSV, file Parquet, dan Pandas DataFrame. Metode untuk membaca file CSV atau Parquet sama seperti di pustaka pandas.

# read csv file
import polars as pl
data = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# check the head
data.head()

Keluaran:

image2.png

Tipe data adalah polars.DataFrame.

type(data)
>>> polars.dataframe.frame.DataFrame

Keluaran:

image7.png

Fungsi Umum untuk Manipulasi Data dengan Polars

Polars menyediakan serangkaian fungsionalitas lengkap untuk manipulasi data, memungkinkan Anda memilih, memfilter, mengurutkan, mentransformasi, dan membersihkan data dengan mudah. Mari jelajahi beberapa tugas manipulasi data umum dan cara menyelesaikannya menggunakan Polars:

1. Memilih dan memfilter data

Untuk memilih kolom tertentu dari sebuah DataFrame, Anda dapat menggunakan metode select(). Berikut contohnya:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# Select specific columns: carat, cut, and price
selected_df = df.select(['Carat Weight', 'Cut', 'Price'])


# show selected_df head
selected_df.head()

Keluaran:

image1.png

Memfilter baris berdasarkan kondisi tertentu dapat dilakukan dengan metode filter(). Misalnya, untuk memfilter baris dengan carat lebih besar dari 1.0, Anda dapat melakukan hal berikut:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# filter the df with condition
filtered_df = df.filter(pl.col('Carat Weight') > 2.0)


# show filtered_df head
filtered_df.head()

Keluaran:

image9.png

2. Mengurutkan dan menyusun data

Polars menyediakan metode sort() untuk mengurutkan DataFrame berdasarkan satu atau beberapa kolom. Berikut contohnya:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# sort the df by price
sorted_df = df.sort(by='Price')


# show sorted_df head
sorted_df.head()

Keluaran:

image12.png

3. Menangani nilai hilang

Polars menyediakan metode yang praktis untuk menangani nilai hilang. Metode drop_nulls() memungkinkan Anda menghapus baris yang mengandung nilai hilang apa pun:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# drop missing values
cleaned_df = df.drop_nulls()


# show cleaned_df head
cleaned_df.head()

Keluaran:

image5.png

Sebagai alternatif, Anda dapat menggunakan metode fill_nulls() untuk mengganti nilai hilang dengan nilai default tertentu atau metode pengisian.

4. Mengelompokkan data berdasarkan kolom tertentu

Untuk mengelompokkan data berdasarkan kolom tertentu, Anda dapat menggunakan metode groupby(). Berikut contoh yang mengelompokkan data berdasarkan kolom Cut dan menghitung rata-rata Price untuk setiap grup:

import polars as pl


# Load diamond data from a CSV file
df = pl.read_csv('https://raw.githubusercontent.com/pycaret/pycaret/master/datasets/diamond.csv')


# group by cut and calc mean of price
grouped_df = df.groupby(by='Cut').agg(pl.col('Price').mean())


# show grouped_df head
grouped_df.head()

Keluaran:

image8.png

Pada keluaran di atas, Anda dapat melihat harga rata-rata berlian menurut dimensi Cut.

5. Menggabungkan dan mengombinasikan DataFrame

Polars menyediakan opsi fleksibel untuk menggabungkan dan mengombinasikan DataFrame, memungkinkan Anda menggabungkan dan mengonkatkan data dari berbagai sumber. Untuk melakukan operasi join, Anda dapat menggunakan metode join(). Berikut contoh yang menunjukkan inner join antara dua DataFrame berdasarkan kolom kunci yang sama:

import polars as pl


# Create the first DataFrame
df1 = pl.DataFrame({
    'id': [1, 2, 3, 4],
    'name': ['Alice', 'Bob', 'Charlie', 'David']
})


# Create the second DataFrame
df2 = pl.DataFrame({
    'id': [2, 3, 5],
    'age': [25, 30, 35]
})


# Perform an inner join on the 'id' column
joined_df = df1.join(df2, on='id')


# Display the joined DataFrame
joined_df

Keluaran:

image6.png

Pada contoh ini, kita membuat dua DataFrame (df1 dan df2) menggunakan konstruktor pl.DataFrame. DataFrame pertama df1 berisi kolom id dan name, dan DataFrame kedua df2 berisi kolom id dan age. Kita kemudian melakukan inner join pada kolom id menggunakan metode join(), dengan menentukan kolom id sebagai kunci join.

Integrasi dan Interoperabilitas

Polars menawarkan integrasi mulus dengan pustaka Python populer lainnya, memungkinkan analis data memanfaatkan beragam alat dan fungsionalitas. Mari jelajahi dua aspek kunci integrasi: bekerja dengan pustaka lain dan interoperabilitas dengan Pandas.

Mengintegrasikan Polars dengan pustaka Python lainnya

Polars terintegrasi dengan nyaman dengan pustaka seperti NumPy dan PyArrow, memungkinkan pengguna mengombinasikan kekuatan berbagai alat dalam alur kerja analisis data mereka. Dengan integrasi NumPy, Polars dengan mudah mengonversi antara Polars DataFrame dan array NumPy, memanfaatkan kemampuan komputasi ilmiah NumPy yang kuat. Integrasi ini memastikan transisi data yang lancar dan memungkinkan analis menerapkan fungsi NumPy secara langsung pada data Polars.

Demikian pula, dengan memanfaatkan PyArrow, Polars mengoptimalkan transfer data antara Polars dan sistem berbasis Arrow. Integrasi ini memungkinkan bekerja mulus dengan data yang disimpan dalam format Arrow dan memaksimalkan kemampuan manipulasi data berkinerja tinggi milik Polars.

Mengonversi Polars DataFrame ke pandas DataFrame

Polars menyediakan konversi yang mulus dari Polars DataFrame ke Pandas DataFrame. Berikut contoh yang mengilustrasikan konversi dari Polars ke pandas.

import polars as pl
import pandas as pd


# Create a Polars DataFrame
df_polars = pl.DataFrame({
    'column_A': [1, 2, 3],
    'column_B': ['apple', 'banana', 'orange']
})


# Convert Polars DataFrame to Pandas DataFrame
df_pandas = df_polars.to_pandas()


# Display the Pandas DataFrame
df_pandas

Keluaran:

image3.png

Kesimpulan

Polars adalah pustaka yang kuat untuk manipulasi dan analisis data berkinerja tinggi di Python. Kecepatan dan optimasi performanya menjadikannya pilihan ideal untuk menangani dataset besar secara efisien.

Dengan sintaksis yang ekspresif dan struktur DataFrame, Polars menawarkan antarmuka yang familier dan intuitif untuk tugas manipulasi data. Selain itu, Polars terintegrasi mulus dengan pustaka Python lain seperti NumPy dan PyArrow, memperluas kemampuannya dan memungkinkan pengguna memanfaatkan ekosistem alat yang beragam.

Kemampuan untuk mengonversi Polars DataFrame ke pandas DataFrame memastikan interoperabilitas dan memudahkan integrasi Polars ke dalam alur kerja yang sudah ada. Baik Anda bekerja dengan tipe data yang kompleks, menangani dataset besar, maupun mencari peningkatan performa, Polars menyediakan seperangkat alat komprehensif untuk membuka potensi penuh upaya analisis data Anda.


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Data Scientist, Pendiri & Kreator PyCaret

Topik
Python

Kursus Manipulasi Data Python Teratas

Kursus

Manipulasi Data dengan pandas

4 jam
566.8K
Pelajari cara mengimpor dan membersihkan data, menghitung statistik, serta membuat visualisasi dengan pandas.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya