Pada Section Dasar Series kita terbiasa bekerja dengan satu kolom data: satu urutan nilai lengkap dengan index-nya. Namun data nyata, seperti catatan penjualan Toko Buah Segar, hampir tidak pernah berdiri sendiri; nama produk, harga, dan stok selalu berjalan berdampingan dalam satu tabel. Untuk kebutuhan seperti itu, pandas menyediakan struktur data utamanya: DataFrame. Chapter ini memetakan anatomi DataFrame sebagai tabel dua dimensi berlabel dan menunjukkan hubungan eratnya dengan Series. Setelah memahami bentuk dasarnya, kita siap membuat DataFrame sendiri dari berbagai sumber data pada chapter-chapter berikutnya.
DataFrame sebagai Tabel Dua Dimensi Berlabel #
DataFrame adalah struktur data dua dimensi yang menampung data dalam bentuk baris dan kolom. Kedua dimensinya berlabel: label baris disebut index dan label kolom disebut columns. Satu baris mewakili satu entitas (satu produk, satu transaksi, satu pelanggan), sedangkan satu kolom mewakili satu atribut dari entitas tersebut. Pandangan paling mudah adalah menyerupai spreadsheet, tetapi dengan batasan penting: DataFrame bukan sekadar tampilan sel kosong-terisi, melainkan struktur data sungguhan yang menyimpan tipe data (dtype) per kolom dan mendukung operasi vectorized antar kolom.
| Aspek | Series | DataFrame |
|---|---|---|
| Dimensi | Satu dimensi | Dua dimensi (baris × kolom) |
| Penyusun | Array nilai plus satu index | Kolom-kolom Series yang sejajar |
| Label yang dimiliki | Index saja | Index dan columns |
| Cocok untuk | Satu atribut per entitas | Banyak atribut per entitas |
Tabel di atas menegaskan posisi keduanya. Series adalah satuan terkecil untuk satu atribut, sementara DataFrame merangkai banyak atribut yang merujuk entitas yang sama. Ketika pekerjaan analisis berpindah dari “berapa harga apel” menjadi “laporkan harga, stok, dan penjualan semua produk”, struktur yang kita butuhkan adalah DataFrame.
Satu Kolom Adalah Satu Series #
Mengambil satu kolom dari DataFrame menghasilkan sebuah Series. Series hasil pengambilan itu membawa name yang sama dengan nama kolomnya, dan membawa index yang sama dengan seluruh kolom lain di DataFrame tersebut. Karena semua kolom berbagi index yang sama, baris ke-0 pada kolom harga dan baris ke-0 pada kolom stok merujuk entitas yang sama, yaitu produk yang sama. Keselarasan (alignment) inilah yang menjadi fondasi operasi antar kolom pada chapter-chapter selanjutnya.
Mari kita buktikan lewat katalog kecil Toko Buah Segar berikut.
import pandas as pd
katalog = pd.DataFrame({
"produk": ["Apel Fuji", "Jeruk Baby", "Mangga Harum Manis"],
"harga": [32000, 18000, 28000],
"stok": [45, 120, 30],
})
print(katalog)
print()
kolom_produk = katalog["produk"]
print(kolom_produk)
print()
print("Tipe objek :", type(kolom_produk).__name__)
print("Nama Series :", kolom_produk.name)
print("Index bersama:", katalog["harga"].index.tolist())Output yang Dihasilkan:
produk harga stok
0 Apel Fuji 32000 45
1 Jeruk Baby 18000 120
2 Mangga Harum Manis 28000 30
0 Apel Fuji
1 Jeruk Baby
2 Mangga Harum Manis
Name: produk, dtype: str
Tipe objek : Series
Nama Series : produk
Index bersama: [0, 1, 2]Mari kita telaah apa yang terjadi pada kode di atas:
- Baris 3-7 (
katalog = pd.DataFrame({...})): kita membangun DataFrame dari sebuah dictionary; setiap key menjadi nama kolom dan setiap value menjadi isi kolom tersebut. Detail pola pembuatan ini dibedah pada chapter “Membuat DataFrame”. - Baris 12-13 (
kolom_produk = katalog["produk"]): operator[]dengan nama kolom mengembalikan satu kolom sebagai objek Series, bukan list biasa. - Baris 15-17: output menunjukkan
Tipe objek: SeriesdanNama Series: produk, bukti bahwa kolom DataFrame adalah Series utuh yang membawaname. - Baris 17 (
katalog["harga"].index.tolist()): kolomhargaternyata memakai index[0, 1, 2]yang sama persis dengan kolomproduk; seluruh kolom sejajar pada label baris yang sama.
Peta Section Dasar DataFrame #
Section ini disusun bertahap, dan chapter yang sedang kita baca adalah pintu masuknya. Peta perjalanannya sebagai berikut:
- Membuat DataFrame dari dictionary, list of dictionary, dan parameter
columns. - Bahan mentah yang lebih dalam: dictionary (aturan panjang, penyelarasan index) serta list dan array NumPy.
- Kerangka tabel: memahami dua sumbu berlabel,
indexdancolumns. - Pemeriksaan struktur: atribut ringkas seperti
shapedandtypes, lalu method mengintip sepertihead(),tail(),sample(),info(), dandescribe(). - Pengaturan index: mengganti label baris dengan
set_index().
Setiap chapter hanya memakai konsep dari chapter sebelumnya, sehingga urutan membaca yang lurus adalah jalur teraman. Dokumentasi resmi juga menyimpan halaman khusus untuk kedua struktur ini; halaman pandas.DataFrame dan intro to data structures cocok menjadi rujukan pendamping section ini.
Chapter berikutnya langsung praktis: kita membangun DataFrame pertama kita sendiri dengan pd.DataFrame() dari beberapa sumber data Python yang berbeda.