Cara Kerja Pandas dalam Python
Pandas adalah library Python yang digunakan untuk mengolah, menganalisis, membersihkan, dan memanipulasi data. Pandas sangat populer dalam Data Science, Machine Learning, analisis data, dan pengolahan dataset.
Dokumen ini menjelaskan cara kerja Pandas dari konsep dasar sampai alur pengolahan data yang umum digunakan.
1. Apa Itu Pandas?
Pandas adalah library Python yang menyediakan struktur data dan fungsi untuk bekerja dengan data berbentuk tabel.
Jika data diibaratkan seperti tabel pada Microsoft Excel, maka Pandas menyediakan cara untuk melakukan operasi tersebut menggunakan kode Python.
Contoh data:
Nama Umur Kota
------- ------ ----------
Andi 21 Palu
Budi 22 Makassar
Citra 20 Palu
Dengan Pandas, kita dapat:
- membaca dataset
- menampilkan data
- memilih kolom dan baris
- melakukan filtering
- membersihkan data
- menangani data kosong
- mengubah tipe data
- melakukan pengelompokan data
- menghitung statistik
- menggabungkan beberapa dataset
- menyimpan hasil pengolahan data
2. Instalasi Pandas
Pandas dapat diinstal menggunakan pip.
pip install pandas
Jika menggunakan Jupyter Notebook:
!pip install pandas
Setelah terinstal, Pandas dapat digunakan dengan:
import pandas as pd
pd merupakan alias yang umum digunakan untuk Pandas.
3. Konsep Utama Pandas
Pandas memiliki dua struktur data utama:
- Series
- DataFrame
Keduanya menjadi dasar hampir semua operasi pengolahan data menggunakan Pandas.
4. Series
Series adalah struktur data satu dimensi.
Contoh:
import pandas as pd
data = pd.Series([10, 20, 30, 40])
print(data)
Hasilnya kira-kira:
0 10
1 20
2 30
3 40
dtype: int64
Series terdiri dari:
- index
- value
- data type
Index secara default dimulai dari 0.
Kita juga dapat membuat Series dengan index sendiri:
data = pd.Series(
[90, 85, 88],
index=["Andi", "Budi", "Citra"]
)
print(data)
5. DataFrame
DataFrame adalah struktur data dua dimensi berbentuk tabel.
Contoh:
data = {
"Nama": ["Andi", "Budi", "Citra"],
"Umur": [21, 22, 20],
"Kota": ["Palu", "Makassar", "Palu"]
}
df = pd.DataFrame(data)
print(df)
Hasil:
Nama Umur Kota
0 Andi 21 Palu
1 Budi 22 Makassar
2 Citra 20 Palu
DataFrame memiliki:
- baris
- kolom
- index
- nilai
- tipe data setiap kolom
6. Cara Kerja DataFrame
Secara sederhana, DataFrame dapat dibayangkan sebagai tabel yang memiliki koordinat.
Kolom
Nama Umur Kota
Index 0 Andi 21 Palu
Index 1 Budi 22 Makassar
Index 2 Citra 20 Palu
Ketika DataFrame dibuat, Pandas menyimpan struktur data tersebut sehingga kita dapat mengakses bagian tertentu berdasarkan:
- nama kolom
- index
- kondisi tertentu
- posisi baris dan kolom
DataFrame
│
├── Index
│ ├── 0
│ ├── 1
│ └── 2
│
├── Column
│ ├── Nama
│ ├── Umur
│ └── IPK
│
└── Data
├── Andi
├── Budi
└── Citra
Contohnya:
df["Nama"]
akan mengambil satu kolom.
Sedangkan:
df[["Nama", "Kota"]]
akan mengambil beberapa kolom.
7. Membuat DataFrame
DataFrame dapat dibuat dari berbagai sumber.
Contoh dari dictionary:
df = pd.DataFrame({
"Nama": ["Andi", "Budi", "Citra"],
"Nilai": [80, 90, 85]
})
Contoh dari list:
df = pd.DataFrame([
["Andi", 80],
["Budi", 90],
["Citra", 85]
], columns=["Nama", "Nilai"])
8. Membaca Dataset
Salah satu fungsi Pandas yang paling sering digunakan adalah fungsi untuk membaca file.
Membaca CSV
df = pd.read_csv("data.csv")
Setelah file dibaca, data akan disimpan dalam DataFrame.
Alurnya:
File CSV
↓
pd.read_csv()
↓
DataFrame
↓
Analisis dan manipulasi
Membaca Excel
df = pd.read_excel("data.xlsx")
Membaca JSON
df = pd.read_json("data.json")
9. Melihat Data
Setelah dataset dibaca, langkah pertama biasanya adalah memeriksa isinya.
Menampilkan lima baris pertama:
df.head()
Menampilkan sepuluh baris pertama:
df.head(10)
Menampilkan lima baris terakhir:
df.tail()
Melihat ukuran dataset:
df.shape
Contohnya:
(1000, 10)
Artinya terdapat:
- 1000 baris
- 10 kolom
10. Melihat Informasi Dataset
Gunakan:
df.info()
Fungsi ini memberikan informasi seperti:
- jumlah baris
- nama kolom
- jumlah data yang tidak kosong
- tipe data
- penggunaan memori
Contoh:
RangeIndex: 1000 entries
Data columns:
Nama 1000 non-null object
Umur 995 non-null int64
Nilai 1000 non-null float64
Informasi ini sangat penting pada tahap awal analisis data.
11. Melihat Statistik Dataset
Gunakan:
df.describe()
Untuk kolom numerik, Pandas dapat menampilkan statistik seperti:
- count
- mean
- standard deviation
- minimum
- quartile
- maximum
Contoh:
print(df.describe())
12. Melihat Nama Kolom
Gunakan:
df.columns
Contoh hasil:
Index(['Nama', 'Umur', 'Kota'], dtype='object')
Kita juga dapat mengubah nama kolom:
df.columns = ["nama", "umur", "kota"]
Atau menggunakan:
df = df.rename(columns={
"Nama": "nama",
"Umur": "umur"
})
13. Mengakses Kolom
Untuk satu kolom:
df["Nama"]
Untuk beberapa kolom:
df[["Nama", "Umur"]]
Konsepnya:
DataFrame
│
├── Nama
├── Umur
└── Kota
Ketika kita memilih df["Nama"], Pandas mengambil kolom tersebut dan mengembalikannya sebagai Series.
14. Mengakses Baris dengan loc
loc digunakan untuk mengakses data berdasarkan label index.
Contoh:
df.loc[0]
Mengambil beberapa baris:
df.loc[0:2]
Mengambil baris dan kolom tertentu:
df.loc[0:2, ["Nama", "Kota"]]
15. Mengakses Data dengan iloc
iloc digunakan untuk mengakses data berdasarkan posisi numerik.
Contoh:
df.iloc[0]
Mengambil tiga baris pertama:
df.iloc[0:3]
Mengambil baris pertama dan kolom pertama:
df.iloc[0, 0]
Perbedaan sederhana:
loc → berdasarkan label
iloc → berdasarkan posisi
16. Filtering Data
Filtering digunakan untuk mengambil data berdasarkan kondisi.
Contoh:
df[df["Umur"] > 20]
Artinya:
Ambil baris yang memiliki umur lebih dari 20.
Contoh kondisi lain:
df[df["Kota"] == "Palu"]
Kondisi gabungan:
df[
(df["Umur"] > 20) &
(df["Kota"] == "Palu")
]
Operator yang umum digunakan:
Operator Fungsi
> lebih besar
< lebih kecil
>= lebih besar atau sama
<= lebih kecil atau sama
== sama dengan
!= tidak sama
& AND
| OR
17. Menambahkan Kolom
Kita dapat membuat kolom baru.
df["Status"] = "Mahasiswa"
Kolom baru berdasarkan perhitungan:
df["Nilai_Akhir"] = df["Tugas"] + df["Ujian"]
Contoh:
df["Lulus"] = df["Nilai"] >= 60
Hasil kolom tersebut akan berisi nilai Boolean:
True
False
True
18. Mengubah Nilai Kolom
Contoh:
df["Kota"] = df["Kota"].str.upper()
Semua nama kota akan diubah menjadi huruf besar.
Contoh:
Palu
Makassar
Palu
menjadi:
PALU
MAKASSAR
PALU
19. Menangani Missing Value
Missing value adalah data yang kosong atau tidak tersedia.
Untuk melihat jumlah data kosong:
df.isnull().sum()
Contoh:
Nama 0
Umur 5
Nilai 2
Artinya terdapat:
- 5 nilai kosong pada kolom Umur
- 2 nilai kosong pada kolom Nilai
20. Menghapus Missing Value
Untuk menghapus baris yang memiliki nilai kosong:
df = df.dropna()
Namun, menghapus data tidak selalu merupakan pilihan terbaik.
Tergantung konteks, data kosong dapat diisi menggunakan nilai tertentu.
21. Mengisi Missing Value
Contoh mengisi nilai kosong dengan 0:
df["Nilai"] = df["Nilai"].fillna(0)
Mengisi dengan rata-rata:
df["Nilai"] = df["Nilai"].fillna(
df["Nilai"].mean()
)
Pendekatan pengisian missing value harus disesuaikan dengan karakteristik dataset.
22. Menghapus Duplikasi
Untuk memeriksa data duplikat:
df.duplicated()
Menghapus duplikasi:
df = df.drop_duplicates()
Ini sering dilakukan dalam proses data cleaning.
23. Mengurutkan Data
Mengurutkan berdasarkan kolom:
df.sort_values("Nilai")
Dari terbesar ke terkecil:
df.sort_values(
"Nilai",
ascending=False
)
24. GroupBy
groupby() digunakan untuk mengelompokkan data berdasarkan kategori tertentu.
Contoh:
df.groupby("Kota")["Nilai"].mean()
Artinya:
Kelompokkan data berdasarkan kota, kemudian hitung rata-rata nilai setiap kota.
Konsepnya:
Data
↓
GroupBy Kota
↓
Palu
Makassar
↓
Hitung rata-rata
25. Agregasi
Pandas menyediakan fungsi agregasi seperti:
df["Nilai"].mean()
df["Nilai"].sum()
df["Nilai"].min()
df["Nilai"].max()
df["Nilai"].count()
Beberapa fungsi penting:
Fungsi Kegunaan
mean() rata-rata
sum() jumlah
min() nilai minimum
max() nilai maksimum
count() jumlah data
median() nilai tengah
std() standar deviasi
26. Menggabungkan Dataset
Dalam proyek nyata, data sering berasal dari beberapa file.
Pandas menyediakan beberapa cara untuk menggabungkannya.
Concatenate
df = pd.concat([df1, df2])
Digunakan untuk menggabungkan data secara vertikal atau horizontal.
Merge
df = pd.merge(
df1,
df2,
on="id"
)
merge() mirip dengan operasi JOIN pada database.
Jenis merge yang umum:
- inner
- left
- right
- outer
Contoh:
pd.merge(
df1,
df2,
on="id",
how="left"
)
27. Mengubah Tipe Data
Untuk melihat tipe data:
df.dtypes
Mengubah tipe data:
df["Umur"] = df["Umur"].astype(int)
Mengubah menjadi string:
df["ID"] = df["ID"].astype(str)
Tipe data penting karena operasi yang dilakukan Pandas bergantung pada tipe data tersebut.
28. Operasi String
Pandas menyediakan fungsi string melalui .str.
Contoh:
df["Nama"].str.upper()
Mengubah menjadi huruf kecil:
df["Nama"].str.lower()
Menghapus spasi:
df["Nama"].str.strip()
Mencari teks:
df["Nama"].str.contains("Andi")
29. Operasi Matematika
Kolom numerik dapat digunakan langsung dalam operasi matematika.
Contoh:
df["Total"] = df["Harga"] * df["Jumlah"]
Atau:
df["Diskon"] = df["Harga"] * 0.10
Pandas memungkinkan operasi dilakukan pada satu kolom sekaligus tanpa harus menulis perulangan for untuk setiap baris.
30. Konsep Vectorization
Salah satu konsep penting dalam Pandas adalah vectorization.
Contoh:
df["Total"] = df["Harga"] * df["Jumlah"]
Operasi tersebut diterapkan pada seluruh nilai dalam kolom.
Secara konseptual:
Harga Jumlah
10000 × 2
20000 × 3
15000 × 4
↓
Total
20000
60000
60000
Pendekatan seperti ini biasanya lebih sederhana dan efisien daripada melakukan operasi baris demi baris menggunakan loop Python.
31. Apply
apply() dapat digunakan untuk menjalankan fungsi pada data.
Contoh:
def kategori(nilai):
if nilai >= 80:
return "A"
elif nilai >= 70:
return "B"
else:
return "C"
df["Grade"] = df["Nilai"].apply(kategori)
apply() berguna ketika transformasi yang dibutuhkan tidak dapat dilakukan dengan operasi Pandas sederhana.
32. Pivot Table
Pandas juga menyediakan pivot_table() untuk membuat ringkasan data.
Contoh:
pd.pivot_table(
df,
values="Nilai",
index="Kota",
aggfunc="mean"
)
Hasilnya dapat digunakan untuk melihat rata-rata nilai berdasarkan kota.
33. Export Data
Setelah data selesai diproses, hasilnya dapat disimpan kembali.
Menyimpan ke CSV
df.to_csv("hasil.csv", index=False)
Menyimpan ke Excel
df.to_excel("hasil.xlsx", index=False)
Menyimpan ke JSON
df.to_json("hasil.json")
34. Alur Kerja Pandas
Dalam proyek Data Science, alur penggunaan Pandas biasanya seperti berikut:
Dataset
↓
Membaca Data
↓
Mengecek Data
↓
Memahami Struktur
↓
Membersihkan Data
↓
Transformasi Data
↓
Filtering
↓
Grouping / Aggregation
↓
Analisis
↓
Visualisasi
↓
Dataset Siap Digunakan
↓
Machine Learning / Reporting
35. Pandas dalam Machine Learning
Pandas sering digunakan pada tahap preprocessing sebelum data dimasukkan ke model Machine Learning.
Contoh alur:
Dataset CSV
↓
Pandas
↓
Data Cleaning
↓
Missing Value
↓
Duplicate Data
↓
Transformasi
↓
Feature Selection
↓
Dataset Bersih
↓
NumPy / Scikit-learn
↓
Machine Learning Model
Contoh:
import pandas as pd
df = pd.read_csv("dataset.csv")
df = df.drop_duplicates()
df["umur"] = df["umur"].fillna(
df["umur"].mean()
)
df = df.dropna()
X = df[["umur", "pendapatan"]]
y = df["status"]
Pada contoh tersebut, Pandas bertugas mempersiapkan data sebelum digunakan oleh algoritma Machine Learning.
36. Pandas Bukan Database
Pandas bukan database.
Pandas adalah library untuk manipulasi dan analisis data di dalam program Python.
Perbandingan sederhana:
Teknologi Fungsi utama
-------------- ------------------------------
Pandas manipulasi dan analisis data
NumPy komputasi numerik
SQL query database
MySQL sistem database
PostgreSQL sistem database
Scikit-learn Machine Learning
Matplotlib visualisasi
Seaborn visualisasi statistik
---------------------------------------------
Database
│
├── Menyimpan data secara persisten
├── Query data
├── Transaction
└── Multi-user access
Pandas
│
├── Membaca data
├── Membersihkan data
├── Memanipulasi data
├── Menganalisis data
└── Menyiapkan data untuk proses berikutnya
Pandas dapat bekerja bersama database.
Contoh membaca hasil query SQL:
df = pd.read_sql(
"SELECT * FROM mahasiswa",
connection
)
37. Cara Pandas Bekerja Secara Konseptual
Ketika kode berikut dijalankan:
df = pd.read_csv("data.csv")
proses sederhananya dapat dipahami sebagai:
File CSV
↓
Pandas membaca file
↓
Data diparsing
↓
Kolom dan baris dibentuk
↓
Tipe data ditentukan
↓
DataFrame dibuat
↓
DataFrame disimpan dalam variabel df
Ketika dilakukan:
df[df["Umur"] > 20]
Pandas secara konseptual:
DataFrame
↓
Ambil kolom Umur
↓
Bandingkan setiap nilai dengan 20
↓
Buat kondisi True / False
↓
Pilih baris yang True
↓
Hasil DataFrame baru
38. Contoh Proyek Sederhana
Misalkan terdapat dataset mahasiswa:
import pandas as pd
df = pd.DataFrame({
"Nama": ["Andi", "Budi", "Citra", "Dedi"],
"Umur": [21, 22, 20, 23],
"Nilai": [85, 70, 90, 60],
"Kota": ["Palu", "Palu", "Makassar", "Palu"]
})
Melihat data:
print(df)
Mengambil mahasiswa dengan nilai minimal 70:
lulus = df[df["Nilai"] >= 70]
print(lulus)
Menghitung rata-rata nilai:
rata_rata = df["Nilai"].mean()
print(rata_rata)
Mengelompokkan berdasarkan kota:
hasil = df.groupby("Kota")["Nilai"].mean()
print(hasil)
Menyimpan hasil:
hasil.to_csv("rata_rata_kota.csv")
39. Pola Belajar Pandas
Untuk mempelajari Pandas secara bertahap, gunakan urutan berikut:
1. Python dasar
↓
2. List, Dictionary, Tuple
↓
3. NumPy dasar
↓
4. Series
↓
5. DataFrame
↓
6. Membaca CSV / Excel
↓
7. Seleksi data
↓
8. Filtering
↓
9. Missing Value
↓
10. Data Cleaning
↓
11. GroupBy
↓
12. Aggregation
↓
13. Merge / Concat
↓
14. Transformasi Data
↓
15. Export Data
↓
16. Pandas untuk Machine Learning
40. Fungsi Pandas yang Wajib Dikuasai
Berikut fungsi yang sebaiknya dikuasai terlebih dahulu:
pd.read_csv()
pd.read_excel()
pd.DataFrame()
pd.Series()
df.head()
df.tail()
df.info()
df.describe()
df.shape
df.columns
df.dtypes
df["kolom"]
df[["kolom1", "kolom2"]]
df.loc[]
df.iloc[]
df.isnull()
df.dropna()
df.fillna()
df.drop_duplicates()
df.sort_values()
df.groupby()
df.mean()
df.sum()
df.min()
df.max()
df.count()
pd.concat()
pd.merge()
df.astype()
df.apply()
df.to_csv()
df.to_excel()
df.to_json()
41. Cara Berpikir Saat Menggunakan Pandas
Daripada menghafalkan ratusan fungsi, pahami pola berikut:
1. LOAD
↓
2. INSPECT
↓
3. CLEAN
↓
4. SELECT
↓
5. FILTER
↓
6. TRANSFORM
↓
7. GROUP
↓
8. ANALYZE
↓
9. EXPORT
Contoh kode sederhananya:
import pandas as pd
# 1. Load
df = pd.read_csv("data.csv")
# 2. Inspect
print(df.head())
print(df.info())
# 3. Clean
df = df.dropna()
# 4. Select
df = df[["Nama", "Umur", "IPK"]]
# 5. Filter
df = df[df["IPK"] >= 3.0]
# 6. Sort
df = df.sort_values("IPK", ascending=False)
# 7. Analyze
print(df["IPK"].mean())
# 8. Export
df.to_csv("hasil.csv", index=False)
Inti cara kerja Pandas:
data masuk → menjadi DataFrame/Series → kita memilih, memfilter, membersihkan, mengubah, mengelompokkan, dan menganalisis data → menghasilkan dataset yang siap digunakan.
Kalau tujuan Anda adalah belajar Pandas untuk Machine Learning, urutan belajarnya paling bagus adalah:
DataFrame → Series → indexing → filtering → cleaning → sorting → groupby → merge → apply/map → EDA → feature engineering → integrasi dengan NumPy & Scikit-learn.
42. Kesimpulan
Pandas bekerja sebagai lapisan pengolahan data di dalam Python.
Konsep paling penting yang perlu dipahami adalah:
Data
↓
DataFrame / Series
↓
Seleksi
↓
Filtering
↓
Cleaning
↓
Transformation
↓
Aggregation
↓
Analysis
↓
Export / Machine Learning
Jika disederhanakan, Pandas memungkinkan kita mengubah data mentah menjadi data yang terstruktur dan siap dianalisis.
Contoh paling dasar:
import pandas as pd
df = pd.read_csv("dataset.csv")
print(df.head())
df = df.drop_duplicates()
df = df.dropna()
df["total"] = df["harga"] * df["jumlah"]
hasil = df.groupby("kategori")["total"].sum()
print(hasil)
hasil.to_csv("hasil.csv")
Kode tersebut sudah menggambarkan pola kerja Pandas yang sangat umum:
Read
↓
Inspect
↓
Clean
↓
Transform
↓
Group
↓
Analyze
↓
Export
Pola ini menjadi dasar yang sangat penting sebelum mempelajari tahap Data Science dan Machine Learning yang lebih lanjut.