PANDAS UNTUK SAINS DATA

Pandas: Fondasi Analisis Data di Python


Dalam era digital saat ini, data menjadi aset yang sangat berharga. Namun, data mentah sering kali sulit dipahami dan tidak langsung memberikan informasi yang bermanfaat. Di sinilah Pandas hadir sebagai salah satu library Python paling populer untuk data analysis dan data manipulation.


Pandas dirancang agar pengguna Python dapat bekerja dengan data secara efisien, cepat, dan fleksibel. Dengan Pandas, kita dapat meggunakan:

  1. Membaca dan menulis data dari berbagai format (CSV, Excel, SQL, JSON, dll.).
  2. Mengolah data dalam bentuk tabel (DataFrame) atau kolom tunggal (Series).
  3. Melakukan operasi dasar seperti filtering, sorting, grouping, dan aggregating.
  4. Membersihkan data yang tidak rapi agar siap untuk dianalisis lebih lanjut.
  5. Menggabungkan data dari berbagai sumber dengan mudah.

Keunggulan utama Pandas adalah struktur datanya yang intuitif:

  • Series → Representasi data satu dimensi (mirip kolom dalam tabel).

  • DataFrame → Representasi data dua dimensi (mirip tabel Excel atau database).

Karena kemampuannya yang luas dan sintaks yang mudah dipahami, Pandas menjadi tool wajib bagi data analyst, data scientist, hingga peneliti akademik. Baik untuk analisis sederhana maupun proyek machine learning yang kompleks, Pandas selalu menjadi titik awal dalam pengolahan data. Berikut ilustrasi struktur data.

  • Vektor → sekumpulan elemen (biasanya angka) dalam satu dimensi, misal list angka dalam 1 dimensi.
  • Array → struktur data NumPy, bisa 1D, 2D, dst.
  • Matriks → bentuk khusus array 2D, sering dipakai di aljabar linear.
  • DataFrame → tabel 2 dimensi milik Pandas, mirip Excel.
Berikut contoh-contohnya:
import numpy as np
import pandas as pd

# === 1. VEKTOR (1 dimensi)
vektor = np.array([10, 20, 30, 40, 50])
print("Vektor:")
print(vektor)
print()

# === 2. ARRAY (NumPy bisa 1D, 2D, dst.)
array_2d = np.array([[1, 2, 3], 
                     [4, 5, 6]])
print("Array 2D:")
print(array_2d)
print()

# === 3. MATRIKS (khusus 2D, bisa pakai NumPy matrix)
matriks = np.matrix([[7, 8], 
                     [9, 10]])
print("Matriks:")
print(matriks)
print()

# === 4. DATAFRAME (Pandas)
data = {
    "Nama": ["Andi", "Budi", "Citra"],
    "Umur": [23, 25, 22],
    "Nilai": [85, 90, 88]
}
df = pd.DataFrame(data)
print("DataFrame Pandas:")
print(df)
Contoh Pandas

Contoh Pandas

1. Import pandas
import pandas as pd   # 'pd' jadi alias untuk pandas

2. Membuat DataFrame dari dict
data = {"Nama":["A","B","C"], "Umur":[21,25,30]}
df = pd.DataFrame(data)   # DataFrame sederhana

3. Membaca file CSV
df = pd.read_csv("data.csv")   # load data CSV

4. Menyimpan ke CSV
df.to_csv("output.csv", index=False)   # simpan tanpa index

5. Melihat 5 baris awal
df.head()   # default 5 baris pertama

6. Melihat 5 baris terakhir
df.tail()   # default 5 baris terakhir

7. Info DataFrame
df.info()   # tipe data tiap kolom + jumlah data

8. Statistik deskriptif
df.describe()   # mean, std, min, max, dll

9. Mengakses kolom
df["Umur"]   # akses kolom sebagai Series

10. Mengakses baris
df.iloc[0]   # ambil baris pertama

11. Filter kondisi
df[df["Umur"] > 25]   # hanya baris dengan Umur > 25

12. Menambahkan kolom baru
df["Status"] = ["A","B","C"]   # tambah kolom

13. Menghapus kolom
df.drop("Status", axis=1, inplace=True)   # hapus kolom

14. Mengurutkan data
df.sort_values("Umur")   # urutkan berdasarkan Umur

15. GroupBy
df.groupby("Nama")["Umur"].mean()   # rata-rata umur per nama

16. Menggabungkan DataFrame
df2 = pd.DataFrame({"Nama":["D"], "Umur":[40]})
pd.concat([df, df2])   # gabungkan ke bawah

17. Merge DataFrame
df3 = pd.DataFrame({"Nama":["A","B"], "Nilai":[90,85]})
pd.merge(df, df3, on="Nama")   # join berdasarkan Nama

18. Reset index
df.reset_index(drop=True, inplace=True)   # reset index

19. Set kolom sebagai index
df.set_index("Nama", inplace=True)   # jadikan kolom Nama sebagai index

20. Menghapus baris NaN
df.dropna()   # hapus baris dengan nilai kosong

21. Mengisi NaN dengan nilai
df.fillna(0)   # ganti NaN dengan 0

22. Pivot table
pd.pivot_table(df, values="Umur", index="Nama", aggfunc="mean")   # ringkas data

Selengkapnya View Modul Pandas

Daftar Dataset

Baca postingan ini juga: Pandas untuk Analisis Data dan CSV