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 #
| Alat | Bentuk | Memberi tahu |
|---|---|---|
len(df) | fungsi Python | banyaknya baris |
df.shape | atribut, tuple | ukuran (baris, kolom) |
df.dtypes | atribut, Series | tipe data tiap kolom |
df.values | atribut, array | isi mentah sebagai array NumPy |
df.empty | atribut, boolean | apakah 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.
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:
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:
- Tiga baris pertama:
len(transaksi)mengembalikan8,shapemengembalikan(8, 4)untuk delapan baris dan empat kolom, danemptymengembalikanFalsekarena tabel berisi data. - Bagian
dtypes:: tiga kolom teks terbacastrsesuai perilaku pandas 3.0, sedangkan kolomqtyterbacaint64karena isinya bilangan bulat. - Bagian
values:: isi tabel tampil sebagai array NumPy dua dimensi; setiap list bagian dalam adalah satu baris transaksi lengkap dengan empat atributnya. - 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().