Data baru masuk tangan biasanya belum boleh langsung diolah. Langkah pertama analis yang sehat adalah memeriksa struktur data: berapa banyak barisnya, apa tipe tiap kolomnya, dan bagaimana isi mentahnya. pandas menyediakan paket atribut dan method ringkas untuk pemeriksaan cepat ini, tanpa perlu menulis loop penghitung sendiri. Chapter ini memperkenalkan paket tersebut dan menerapkannya pada data transaksi Toko Buah Segar.

Paket Inspeksi Cepat #

AlatBentukMemberi tahu
len(df)fungsi Pythonbanyaknya baris
df.shapeatribut, tupleukuran (baris, kolom)
df.dtypesatribut, Seriestipe data tiap kolom
df.valuesatribut, arrayisi mentah sebagai array NumPy
df.emptyatribut, booleanapakah tabel kosong

Kelima alat di atas saling melengkapi: len(df) dan df.shape menjawab ukuran, df.dtypes menjawab tipe, df.values menunjukkan isi mentah, dan df.empty menjadi penyaring cepat sebelum proses lanjutan. Atribut shape dan dtypes masih akan kita bedah lebih dalam pada chapter tersendiri, sementara di sini kita memakainya sebagai bagian dari paket inspeksi.

Menjalankan Inspeksi Cepat #

Mari kita periksa delapan transaksi pertama Toko Buah Segar menggunakan seluruh paket tersebut sekaligus.

python
import pandas as pd

transaksi = pd.DataFrame({
    "transaksi": [f"TRX-{i:03d}" for i in range(1, 9)],
    "kasir": ["Budi", "Siti", "Dewi", "Budi", "Siti", "Dewi", "Budi", "Siti"],
    "produk": ["Apel Fuji", "Jeruk Baby", "Mangga Harum Manis", "Pisang Cavendish",
               "Semangka Merah", "Salak Pondoh", "Duku Palembang", "Rambutan Binjai"],
    "qty": [12, 8, 15, 20, 5, 30, 10, 25],
})

print("len()  ->", len(transaksi))
print("shape  ->", transaksi.shape)
print("empty  ->", transaksi.empty)
print()
print("dtypes:")
print(transaksi.dtypes)
print()
print("values:")
print(transaksi.values)

Output yang Dihasilkan:

text
len()  -> 8
shape  -> (8, 4)
empty  -> False

dtypes:
transaksi      str
kasir          str
produk         str
qty          int64
dtype: object

values:
[['TRX-001' 'Budi' 'Apel Fuji' 12]
 ['TRX-002' 'Siti' 'Jeruk Baby' 8]
 ['TRX-003' 'Dewi' 'Mangga Harum Manis' 15]
 ['TRX-004' 'Budi' 'Pisang Cavendish' 20]
 ['TRX-005' 'Siti' 'Semangka Merah' 5]
 ['TRX-006' 'Dewi' 'Salak Pondoh' 30]
 ['TRX-007' 'Budi' 'Duku Palembang' 10]
 ['TRX-008' 'Siti' 'Rambutan Binjai' 25]]

Mari kita telaah output di atas:

  1. Tiga baris pertama: len(transaksi) mengembalikan 8, shape mengembalikan (8, 4) untuk delapan baris dan empat kolom, dan empty mengembalikan False karena tabel berisi data.
  2. Bagian dtypes:: tiga kolom teks terbaca str sesuai perilaku pandas 3.0, sedangkan kolom qty terbaca int64 karena isinya bilangan bulat.
  3. Bagian values:: isi tabel tampil sebagai array NumPy dua dimensi; setiap list bagian dalam adalah satu baris transaksi lengkap dengan empat atributnya.
  4. Tanda kutip pada values: string di dalam array NumPy tampil berbentuk 'TRX-001'; tampilan ini hanya representasi array, bukan perubahan data.

Membaca values sebagai Array NumPy #

Atribut df.values mengeluarkan isi DataFrame sebagai array NumPy. Karena array NumPy menuntut satu tipe yang sama untuk seluruh sel, kombinasi kolom teks dan kolom angka seperti pada tabel transaksi memaksa tipe array menjadi object. Apabila seluruh kolom bertipe numerik, hasilnya justru array numerik murni yang efisien. Perlu diingat bahwa values adalah jendela pengintip; kebanyakan pekerjaan analisis tetap berlangsung di atas kolom DataFrame, bukan di atas array mentahnya.

Menandai DataFrame Kosong #

Atribut df.empty mengembalikan True bila DataFrame tidak memiliki baris maupun kolom berisi. Atribut ini praktis sebagai penjaga (guard) sebelum proses lanjutan: hasil saringan data bisa saja kosong, dan memproses tabel kosong hanya akan menimbulkan hasil yang membingungkan. Pola if df.empty: ... di awal alur kerja menghemat banyak waktu pencarian galat.

Kelima alat inspeksi di atas tergolong bagian dari fungsi dasar yang dirangkum resmi pada halaman essential basic functionality ; halaman itu juga menjadi rujukan untuk chapter-chapter pemeriksaan berikutnya. Inspeksi struktur sudah kita kuasai, tetapi paket di atas hanya menunjukkan ukuran dan tipe. Untuk data yang panjang, kita butuh cara mengintip beberapa baris teratas, terbawah, bahkan baris acak tanpa mencetak seluruh tabel. Chapter berikutnya memperkenalkan tiga method persis untuk keperluan itu: head(), tail(), dan sample().