Banyak data sehari-hari berbentuk satu kolom: daftar harga produk, catatan suhu harian, atau jumlah stok tiap gudang. List Python bisa menyimpan nilai-nilai tersebut, tetapi list hanya mengenal posisi 0, 1, 2, dan seterusnya sehingga kita sulit menandai nilai milik siapa. Pandas menyediakan Series, array satu dimensi yang setiap nilainya dilengkapi label. Pada chapter ini kita membedah anatomi Series, membuat Series pertama, dan melihat hubungannya dengan DataFrame.
Series sebagai Array Satu Dimensi Berlabel #
Series adalah struktur data satu dimensi milik pandas yang menggabungkan dua hal dalam satu objek: kumpulan nilai (values) dan kumpulan label (index). Bayangkan sebuah list yang setiap posisinya diberi nama; itu batas analoginya, karena label Series tidak harus berupa angka 0, 1, 2, melainkan bisa berupa teks, tanggal, atau gabungan lain. Struktur seperti ini sering disebut labeled array karena setiap nilai dapat diakses melalui labelnya, bukan hanya melalui posisi integer.
Satu objek Series memuat beberapa komponen yang akan sering kita sebut sepanjang Course ini:
| Komponen | Contoh isi | Peran |
|---|---|---|
index | 0, 1, 2 atau "Kopi", "Teh", "Gula" | Alamat setiap nilai |
values | 25000, 18000, 12000 | Data yang disimpan |
dtype | int64, float64, str | Tipe data nilai |
name | "harga" | Judul Series, bersifat opsional |
Keempat komponen tersebut hidup di dalam satu variabel Series. Kita akan memeriksa komponen index dan values secara khusus pada chapter “Atribut index dan values”.
Contoh Series Pertama #
Mari kita buat Series paling sederhana: tiga harga produk tanpa label khusus. Kode berikut dapat dijalankan langsung dan hasilnya berupa tabel kecil berisi label, nilai, dan tipe data.
import pandas as pd
harga = pd.Series([25000, 18000, 12000])
print(harga)Output yang Dihasilkan:
0 25000
1 18000
2 12000
dtype: int64Mari kita telaah kode di atas baris demi baris:
- Baris 1 (
import pandas as pd): memuat library pandas dengan aliaspd, konvensi yang dipakai hampir seluruh dokumentasi resmi. - Baris 3 (
harga = pd.Series([...])): konstruktorpd.Series()menerima sebuah list dan mengubahnya menjadi Series. - Baris 5 (
print(harga)): pandas menampilkan dua kolom; kolom kiri berisi0, 1, 2sebagai label index default, kolom kanan berisi nilai, dan barisdtype: int64memberi tahu tipe datanya.
Perhatikan bahwa kita tidak menentukan label apa pun, tetapi pandas tetap membuat index default berupa posisi integer mulai dari 0. Perilaku ini mirip list, sehingga Series terasa akrab bagi siapa pun yang sudah mengenal Python.
Series sebagai Satu Kolom DataFrame #
Series bukan struktur yang berdiri sendiri; Series adalah bahan penyusun DataFrame. Satu kolom pada DataFrame adalah satu Series, dan nama kolom menjadi nama Series tersebut. Contoh berikut mengambil kolom harga dari sebuah DataFrame, lalu memeriksa tipe objek yang kembali.
import pandas as pd
penjualan = pd.DataFrame({
"produk": ["Kopi Gayo", "Teh Melati", "Gula Aren"],
"harga": [85000, 32000, 24000],
})
kolom_harga = penjualan["harga"]
print(kolom_harga)
print(type(kolom_harga).__name__)Output yang Dihasilkan:
0 85000
1 32000
2 24000
Name: harga, dtype: int64
SeriesKode di atas membangun DataFrame penjualan dari sebuah dictionary, kemudian penjualan["harga"] mengambil satu kolomnya. Hasil yang kembali adalah objek Series yang membawa nama harga, seperti terlihat pada baris Name: harga di output. Ketika nanti kita memanipulasi DataFrame, pada hakikatnya kita sedang memanipulasi banyak Series yang berbagi index yang sama.
Mengapa Series Layak Dikuasai Dulu #
Menguasai Series sebelum DataFrame memberi tiga keuntungan praktis:
- Operasi vectorized:
harga * 2mengalikan seluruh nilai sekaligus tanpa loop eksplisit. - Index alignment: pandas menjajarkan dua Series berdasarkan labelnya sebelum menghitung, sehingga perbedaan urutan data tidak menjadi masalah.
- Fondasi DataFrame: hampir semua operasi kolom DataFrame pada hakikatnya adalah operasi Series.
Ketiga kekuatan tersebut kita uji satu per satu sepanjang Section ini, mulai dari cara membuat Series dengan berbagai sumber data. Chapter berikutnya, “Membuat Series”, membahas konstruktor pd.Series() secara lebih dalam: dari list, tuple, dan dictionary hingga nilai skalar, beserta aturan pembentukan index default masing-masing.
Untuk pembacaan lanjutan, halaman referensi pandas.Series dan pengantar struktur data pandas adalah rujukan resmi yang sesuai dengan materi chapter ini.