Chapter sebelumnya menunjukkan satu cara membuat Series, yaitu dari sebuah list. Dalam praktiknya, data bisa datang dalam banyak bentuk: hasil pengolahan berupa tuple, konfigurasi berupa dictionary, atau nilai seragam yang perlu diulang untuk banyak label. Konstruktor pd.Series() menerima semuanya, dan setiap sumber menghasilkan index default yang berbeda. Chapter ini membahas empat sumber utama tersebut beserta aturan pembentukan index-nya, sehingga kita bisa memilih cara pembuatan yang paling sesuai dengan bentuk data yang dipegang.
Sintaks Dasar pd.Series() #
Bentuk panggilan yang paling umum adalah pd.Series(data, index=..., name=...). Parameter data wajib diisi dan dapat berupa list, tuple, dictionary, array NumPy, atau nilai tunggal. Parameter index bersifat opsional dan berisi daftar label sepanjang data; jika parameter ini tidak diberikan, pandas membuat index default 0 sampai n-1. Parameter name juga opsional dan berguna untuk memberi judul pada Series, misalnya nama kolom asal data tersebut.
Urutan parameter di atas tidak harus lengkap setiap kali dipanggil. Sebagian besar contoh pada Course ini cukup memakai data saja atau data plus index.
Empat Sumber Data Utama #
Skrip berikut membangun empat Series dari empat sumber berbeda, lalu menampilkan semuanya agar perbedaan index yang terbentuk terlihat jelas.
import pandas as pd
stok = pd.Series([12, 30, 25]) # dari list
print(stok)
print()
harian = pd.Series((150, 175, 160)) # dari tuple
print(harian)
print()
harga = pd.Series({"Kopi": 25000, "Teh": 18000, "Gula": 12000}, name="harga") # dari dictionary
print(harga)
print()
diskon = pd.Series(0.1, index=["Kopi", "Teh", "Gula"]) # dari nilai skalar
print(diskon)Output yang Dihasilkan:
0 12
1 30
2 25
dtype: int64
0 150
1 175
2 160
dtype: int64
Kopi 25000
Teh 18000
Gula 12000
Name: harga, dtype: int64
Kopi 0.1
Teh 0.1
Gula 0.1
dtype: float64Mari kita telaah kode di atas:
- Dari list (
pd.Series([12, 30, 25])): pandas membuat index default0, 1, 2karena kita tidak memberi label. Series dari tuple berperilaku sama persis dengan Series dari list. - Dari dictionary (
pd.Series({...}, name="harga")): setiap key dictionary menjadi label index (Kopi,Teh,Gula) dan setiap value menjadi nilainya. Parameternamemenambahkan judulhargapada Series tersebut. - Dari nilai skalar (
pd.Series(0.1, index=[...])): nilai tunggal0.1disalin ke setiap label yang kita sebutkan pada parameterindex; jumlah label menentukan panjang Series. - Perhatikan dtype: Series dari bilangan bulat menghasilkan
int64, sedangkan Series dari skalar0.1menghasilkanfloat64karena nilainya desimal. Tipe data dibahas lengkap pada chapter “Tipe Data Series”.
Dari keempat pola tersebut, pola dictionary paling sering dipakai saat data sudah berbentuk pasangan label-nilai, misalnya harga per produk atau populasi per kota. Pola skalar berguna ketika kita ingin menyiapkan kolom baru berisi nilai awal yang sama untuk semua baris.
Memilih Sumber yang Tepat #
Tabel berikut merangkum index yang terbentuk dari setiap sumber data agar mudah dibandingkan:
| Sumber data | Index yang terbentuk | Cocok untuk |
|---|---|---|
| list atau tuple | Posisi default 0 sampai n-1 | Data berurutan yang setara posisinya |
| dictionary | Key dictionary sebagai label | Data yang sudah berlabel secara alami |
| nilai skalar | Wajib diberi index= eksplisit | Nilai seragam untuk banyak label |
list plus index= | Label yang kita tentukan | Data berurutan dengan identitas sendiri |
Satu hal yang perlu diingat: panjang index yang diberikan harus sama dengan panjang data. Jika kita memberi tiga nilai tetapi empat label, pandas memunculkan ValueError yang memberi tahu ketidakcocokan panjang tersebut.
Pembuatan Series yang kita latih di chapter ini selalu membawa dua komponen sekaligus: nilai dan label. Chapter berikutnya, “Atribut index dan values”, memisahkan keduanya sehingga kita bisa membaca, mengubah, dan mengonversi masing-masing komponen secara terpisah. Dokumentasi resmi pandas.Series memuat daftar lengkap parameter konstruktor, dan 10 minutes to pandas menunjukkan pola pembuatan yang sama dalam format ringkas.