Pembersihan data tidak diragukan lagi membutuhkan banyak waktu dalam ilmu data, dan data yang hilang adalah salah satu tantangan yang akan sering Anda hadapi. pandas adalah alat manipulasi data Python yang berharga yang membantu Anda memperbaiki nilai yang hilang di dataset Anda, antara lain.

Anda dapat memperbaiki data yang hilang dengan menjatuhkan atau mengisinya dengan nilai lain. Pada artikel ini, kami akan menjelaskan dan mengeksplorasi berbagai cara untuk mengisi data yang hilang menggunakan pandas.

1. Gunakan Metode fillna():

Itu isi () fungsi berulang melalui dataset Anda dan mengisi semua baris nol dengan nilai yang ditentukan. Ia menerima beberapa argumen opsional—perhatikan yang berikut:

Nilai: Ini adalah nilai yang ingin Anda masukkan ke dalam baris yang hilang.

metode: Memungkinkan Anda mengisi nilai yang hilang ke depan atau ke belakang. Ia menerima 'isi' atau 'mengisi' parameter.

Di tempat: Ini menerima pernyataan bersyarat. Jika Benar, itu mengubah DataFrame secara permanen. Jika tidak, tidak.

instagram viewer

Sebelum kita mulai, pastikan Anda menginstal panda ke dalam Lingkungan virtual python menggunakan pip di terminal Anda:

pip install panda

Selanjutnya, di dalam skrip Python, kita akan membuat DataFrame latihan dan memasukkan nilai null (nan) menjadi beberapa baris:

impor panda
df = panda. DataFrame({'A' :[0, 3, Tidak Ada, 10, 3, Tidak Ada],
'B': [Tidak ada, Tidak ada, 7.13, 13.82, 7, 7],
'C': [Tidak ada, "Panda", Tidak ada, "Panda", "Python", "JavaScript"]})

Terkait:Cara Mengimpor Data Excel Ke Skrip Python Menggunakan Pandas

Sekarang, lihat bagaimana Anda dapat mengisi nilai yang hilang ini menggunakan berbagai metode yang tersedia di pandas.

Metode ini melibatkan penggantian nilai yang hilang dengan rata-rata yang dihitung. Mengisi data yang hilang dengan nilai rata-rata atau median berlaku ketika kolom yang terlibat memiliki tipe data integer atau float.

Anda juga dapat mengisi data yang hilang dengan nilai mode, yang merupakan nilai yang paling banyak muncul. Ini juga berlaku untuk bilangan bulat atau float. Tapi itu lebih mudah ketika kolom yang dimaksud berisi string.

Berikut cara menyisipkan mean dan median ke dalam baris yang hilang di DataFrame yang Anda buat sebelumnya:

#Untuk memasukkan nilai rata-rata setiap kolom ke dalam baris yang hilang:
df.fillna (df.mean().round (1), inplace=True)
#Untuk median:
df.fillna (df.median().round (1), inplace=True)
cetak (df)

Memasukkan nilai modal seperti yang Anda lakukan untuk mean dan median di atas tidak menangkap seluruh DataFrame. Tetapi Anda dapat memasukkannya ke dalam kolom tertentu sebagai gantinya, katakanlah, kolom C:

df['C'].fillna (df['C'].mode()[0], inplace=True)

Dengan itu, masih mungkin untuk memasukkan nilai modal dari setiap kolom di seluruh baris yang hilang sekaligus menggunakan perulangan for:

untuk saya di df.columns:
df[i].fillna (df[i].mode()[0], inplace=True)
cetak (df)

Jika Anda ingin spesifik kolom saat memasukkan mean, median, atau mode:

df.fillna({"A":df['A'].mean(), 
"B": df['B'].median(),
"C": df['C'].mode()[0]},
di tempat=Benar)
cetak (df)

Isi Baris Null Dengan Nilai Menggunakan ffill

Ini melibatkan menentukan metode pengisian di dalam sebagai isi () fungsi. Metode ini mengisi setiap baris yang hilang dengan nilai yang terdekat di atasnya.

Anda juga bisa menyebutnya pengisian ke depan:

df.fillna (metode = 'mengisi', di tempat = Benar)

Isi Baris yang Hilang Dengan Nilai Menggunakan bfill

Di sini, Anda akan mengganti isi metode yang disebutkan di atas dengan isi ulang. Itu mengisi setiap baris yang hilang di DataFrame dengan nilai terdekat di bawahnya.

Yang ini disebut pengisian ke belakang:

df.fillna (metode='bfill', inplace=True)

2. Ganti() Metode

Anda dapat mengganti nan nilai dalam kolom tertentu dengan mean, median, modus, atau nilai lainnya.

Terkait:Perintah panda untuk Memanipulasi DataFrames

Lihat cara kerjanya dengan mengganti baris nol di kolom bernama dengan mean, median, atau modenya:

impor panda
impor numpy #ini mengharuskan Anda sebelumnya menginstal numpy
#Ganti nilai null dengan mean:
df['A'].replace([numpy.nan], df[A].mean(), inplace=True)
#Ganti kolom A dengan median:
df['B'].replace([numpy.nan], df[B].median(), inplace=True)
#Gunakan nilai modal untuk kolom C:
df['C'].replace([numpy.nan], df['C'].mode()[0], inplace=True)
cetak (df)

3. Isi Data yang Hilang Dengan interpolasi()

Itu menambah() fungsi menggunakan nilai yang ada di DataFrame untuk memperkirakan baris yang hilang.

Jalankan kode berikut untuk melihat cara kerjanya:

#Interpolasi mundur melintasi kolom:
df.interpolate (metode ='linier', limit_direction ='mundur', inplace=True)
#Interpolasi dalam urutan maju melintasi kolom:
df.interpolate (metode ='linier', limit_direction ='maju', inplace=True)

Tangani Baris yang Hilang dengan Hati-hati

Meskipun kami hanya mempertimbangkan untuk mengisi data yang hilang dengan nilai default seperti rata-rata, mode, dan metode lainnya, ada teknik lain untuk memperbaiki nilai yang hilang. Ilmuwan data, misalnya, terkadang menghapus baris yang hilang ini, tergantung pada kasusnya.

Selain itu, penting untuk berpikir kritis tentang strategi Anda sebelum menggunakannya. Jika tidak, Anda mungkin mendapatkan hasil analisis atau prediksi yang tidak diinginkan. Beberapa strategi visualisasi data awal mungkin bisa membantu.

Bagaimana Menggambar Grafik di Notebook Jupyter

Tampilkan data Anda dengan grafik Jupyter Notebook.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • Python
  • Pemrograman
  • basis data
Tentang Penulis
Idowu Omisola (125 Artikel Diterbitkan)

Idowu sangat menyukai teknologi dan produktivitas yang cerdas. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

More From Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan