Error & Pesan Kesalahan
Python
Pesan error dan peringatan yang paling sering muncul saat menulis kode Python maupun bekerja dengan Pandas.
SyntaxError
Muncul ketika struktur penulisan kode tidak sesuai dengan aturan tata bahasa Python.
Tanda kurung atau tanda kutip yang tidak seimbang, atau lupa menambahkan titik dua setelah pernyataan seperti if atau for.
Periksa baris kode yang ditunjuk pesan error, pastikan seluruh tanda baca memiliki pasangan yang benar.
IndentationError
Muncul ketika indentasi (spasi di awal baris) pada kode tidak konsisten atau tidak sesuai dengan yang diharapkan Python.
Mencampur penggunaan tab dan spasi, atau lupa menambahkan indentasi pada baris yang seharusnya menjadi bagian dari sebuah blok kode.
Pastikan seluruh baris dalam satu blok kode memiliki jumlah spasi indentasi yang sama dan konsisten.
NameError
Muncul ketika kode merujuk pada sebuah variabel atau fungsi yang belum pernah didefinisikan sebelumnya.
Kesalahan pengetikan nama variabel, atau memanggil variabel sebelum baris yang mendefinisikannya sempat dijalankan.
Periksa kembali ejaan nama variabel, dan pastikan variabel tersebut sudah didefinisikan sebelum dipanggil.
TypeError
Muncul ketika sebuah operasi dilakukan pada tipe data yang tidak sesuai, misalnya mencoba menjumlahkan angka dengan teks secara langsung.
Mencampur tipe data yang tidak kompatibel dalam satu operasi tanpa konversi terlebih dahulu.
Periksa tipe data setiap variabel yang terlibat, lakukan konversi tipe data yang sesuai sebelum operasi dijalankan.
KeyError
Muncul ketika mencoba mengakses sebuah kunci pada dictionary yang ternyata tidak ada.
Kesalahan pengetikan nama kunci, atau kunci tersebut memang belum pernah ditambahkan ke dalam dictionary.
Periksa kembali ejaan nama kunci yang diakses, atau gunakan metode get() yang memungkinkan nilai alternatif jika kunci tidak ditemukan.
IndexError
Muncul ketika mencoba mengakses posisi (indeks) pada list yang berada di luar jangkauan jumlah elemen yang tersedia.
Mengasumsikan sebuah list memiliki jumlah elemen tertentu, padahal jumlah elemen sebenarnya lebih sedikit.
Periksa jumlah elemen list menggunakan len() sebelum mengakses indeks tertentu, terutama untuk data yang panjangnya bisa berubah.
ValueError
Muncul ketika sebuah fungsi menerima argumen dengan tipe data yang benar, namun nilainya tidak sesuai dengan yang diharapkan.
Mencoba mengonversi teks yang bukan angka menjadi tipe data numerik, misalnya mengonversi teks "abc" menjadi integer.
Periksa kembali nilai yang akan diproses, pastikan formatnya benar-benar sesuai sebelum dilakukan konversi tipe data.
AttributeError
Muncul ketika kode mencoba memanggil sebuah metode atau atribut yang tidak dimiliki oleh objek yang bersangkutan.
Kesalahan pengetikan nama metode, atau menganggap sebuah variabel bertipe DataFrame padahal sebenarnya bertipe lain.
Periksa tipe data variabel yang sedang diproses, dan pastikan metode yang dipanggil memang tersedia untuk tipe data tersebut.
ModuleNotFoundError
Muncul ketika kode mencoba mengimpor sebuah library yang belum terinstal pada lingkungan kerja yang sedang digunakan.
Library seperti Pandas atau Seaborn belum diinstal sebelumnya pada komputer atau lingkungan kerja yang dipakai.
Instal library yang dibutuhkan menggunakan pengelola paket seperti pip, sebelum baris impor dijalankan kembali.
SettingWithCopyWarning (Khusus Pandas)
Peringatan yang muncul ketika mencoba mengubah nilai pada sebuah DataFrame yang sebenarnya merupakan salinan sebagian (bukan salinan penuh) dari DataFrame lain.
Melakukan filtering pada sebuah DataFrame, lalu langsung mengubah nilai pada hasil filter tersebut tanpa menyalinnya secara eksplisit.
Gunakan metode .copy() setelah proses filtering apabila hasil filter tersebut akan diubah nilainya.
ZeroDivisionError
Muncul ketika kode mencoba membagi suatu nilai dengan angka nol menggunakan operasi pembagian standar Python, di luar konteks Pandas.
Menghitung rasio atau rata-rata pada sekumpulan data yang jumlah pembaginya kebetulan bernilai nol.
Tambahkan pemeriksaan kondisi sebelum melakukan pembagian, memastikan nilai pembagi tidak nol sebelum operasi dijalankan.
FileNotFoundError
Muncul ketika kode mencoba membuka atau membaca sebuah berkas yang tidak ditemukan pada lokasi yang dirujuk.
Kesalahan penulisan nama atau lokasi berkas, atau berkas tersebut belum dipindahkan ke folder kerja yang sesuai.
Periksa kembali nama dan lokasi berkas, pastikan path yang dituliskan sesuai dengan struktur folder yang sebenarnya.
UnicodeDecodeError
Muncul ketika Python gagal membaca isi sebuah berkas karena format pengkodean karakter (encoding) yang tidak sesuai dengan yang diharapkan.
Membaca berkas CSV yang disimpan menggunakan encoding tertentu, seperti Latin-1, tanpa menyebutkan encoding tersebut secara eksplisit saat membaca.
Tambahkan parameter encoding saat membaca berkas, misalnya pd.read_csv("file.csv", encoding="latin-1"), sesuai format aslinya.
MergeError (Khusus Pandas)
Muncul ketika proses penggabungan dua DataFrame menggunakan merge() gagal dilakukan, umumnya karena kolom penghubung tidak ditemukan atau tipe datanya tidak sesuai.
Kolom yang dirujuk pada parameter "on" tidak ada di salah satu DataFrame, atau tipe data kolom penghubung berbeda antar kedua DataFrame.
Periksa kembali nama kolom penghubung pada kedua DataFrame, serta pastikan tipe datanya konsisten sebelum proses penggabungan dijalankan.
Empty DataFrame Setelah Merge (Silent Pitfall)
Bukan pesan error, melainkan kondisi ketika hasil penggabungan dua DataFrame menghasilkan tabel kosong tanpa satu pun baris, meski kedua DataFrame asal memiliki data.
Nilai pada kolom penghubung memiliki format berbeda antar kedua DataFrame, seperti perbedaan spasi atau huruf kapital, sehingga tidak ada satu pun yang dianggap cocok.
Periksa nilai unik pada kolom penghubung di kedua DataFrame sebelum penggabungan, standarkan format teksnya jika diperlukan.