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.

AspekSeriesDataFrame
DimensiSatu dimensiDua dimensi (baris × kolom)
PenyusunArray nilai plus satu indexKolom-kolom Series yang sejajar
Label yang dimilikiIndex sajaIndex dan columns
Cocok untukSatu atribut per entitasBanyak 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.

python
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:

text
               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:

  1. 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”.
  2. Baris 12-13 (kolom_produk = katalog["produk"]): operator [] dengan nama kolom mengembalikan satu kolom sebagai objek Series, bukan list biasa.
  3. Baris 15-17: output menunjukkan Tipe objek: Series dan Nama Series: produk, bukti bahwa kolom DataFrame adalah Series utuh yang membawa name.
  4. Baris 17 (katalog["harga"].index.tolist()): kolom harga ternyata memakai index [0, 1, 2] yang sama persis dengan kolom produk; 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, index dan columns.
  • Pemeriksaan struktur: atribut ringkas seperti shape dan dtypes, lalu method mengintip seperti head(), tail(), sample(), info(), dan describe().
  • 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.