Sudah ada NumPy, kenapa pakai Pandas?

Pemula di ranah ilmu data, machine learning (ML), dan sejenisnya, seringkali kebingungan dengan banyakanya perkakas dan pustsaka yang akan dipelajari. Paling sering saya temui adalah mereka yang kebingungan menentukan kapan harus menggunakan NumPy, kapan harus menggunakan Pandas. Apalagi keduanya sama-sama bisa dipakai sebagai input untu pustaka seperti scikit-learn (sklearn). Tutorial ML sklearn yang menggunakan NumPy tidak kalah banyaknya dengan yang menggunakan Pandas.

NumPy

Fitur utama dari NumPy (yang kepanjangannya adalah numerical python) adalah n-dimensional array (ndarray). NumPy diimplementasikan dalam bahasa C dengan optimasi yang sangat intensif, sehingga memiliki performa yang baik. NumPy didesain untuk memenuhi kebutuhan pemrosesan data numerik (walau tetap bisa menyimpan data non numerik). NumPy dibundel dengan banyak fungsi-fungsi aritmatika untuk ndarray, termasuk aljabar linear, trigonometri, optimasi, dan sebagainya. Oleh karena itu, NumPy cocok digunakan saat kita memiliki data numerik dan homogen.

Pandas

Struktur data yang merupakan punggawa dari Pandas adalah dataframe & series. Dataframe terhimpun dari kumpulan series (kolom). Pandas banyak digunakan saat data berbentuk tabular dengan tipe data yang heterogen. Jadi, ia sangat ramah tidak hanya pada data integer dan float, namun juga string dan tipe lainnya. Pandas dibuat di atas NumPy. Pada suatu dataframe Pandas x, jika kita memanggil x.values, maka kita akan memperoleh nilai-nilainya saja dalam bentuk ndarray NumPy 2 dimensi.

Kapan yang satu lebih baik dari lainnya?

Tentu saja, menurut saya.

NumPy

Pandas