Panda Isi Nan dengan 0

Panda Isi Nan Dengan 0



Sains data biasanya melibatkan data yang hilang. Sama ada keseluruhan baris boleh dibuang atau nilai boleh ditambah pada gabungan baris-lajur. Menggugurkan baris/lajur adalah tidak masuk akal kerana ia menghapuskan metrik tertentu untuk setiap baris. NaN, yang bermaksud 'Bukan Nombor', ialah salah satu cara biasa untuk menunjukkan nilai yang tiada daripada set data. Untuk mendapatkan hasil yang diharapkan, pengendalian NaN adalah agak penting. Jadi, mari kita ketahui cara menukar nilai NaN dalam satu baris atau lajur Pandas DataFrame kepada 0.

Panda Isi Nilai NaN

Jika lajur dalam bingkai data anda mempunyai nilai NaN atau Tiada, anda boleh menggunakan fungsi 'fillna()' atau 'replace()' untuk mengisinya dengan sifar (0).

isi()







Nilai NA/NaN diisi dengan pendekatan yang disediakan menggunakan fungsi 'fillna()'. Ia boleh digunakan dengan mempertimbangkan sintaks berikut:



Jika anda ingin mengisi nilai NaN untuk satu lajur, sintaksnya adalah seperti berikut:




Apabila anda dikehendaki mengisi nilai NaN untuk DataFrame yang lengkap, sintaksnya adalah seperti yang disediakan:






Gantikan()

Untuk menggantikan satu lajur nilai NaN, sintaks yang disediakan adalah seperti berikut:




Manakala, untuk menggantikan keseluruhan nilai NaN DataFrame, kita perlu menggunakan sintaks yang disebutkan berikut:


Dalam penulisan ini, kami kini akan meneroka dan mempelajari pelaksanaan praktikal kedua-dua kaedah ini untuk mengisi nilai NaN dalam Pandas DataFrame kami.

Contoh 1: Isikan Nilai NaN Menggunakan Kaedah “Fillna()” Panda

Ilustrasi ini menunjukkan aplikasi fungsi 'DataFrame.fillna()' Pandas untuk mengisi nilai NaN dalam DataFrame yang diberikan dengan 0. Anda boleh sama ada mengisi nilai yang hilang dalam satu lajur atau anda boleh mengisinya untuk keseluruhan DataFrame. Di sini, kita akan melihat kedua-dua teknik ini.

Untuk melaksanakan strategi ini, kita perlu mendapatkan platform yang sesuai untuk pelaksanaan program. Jadi, kami memutuskan untuk menggunakan alat 'Spyder'. Kami memulakan kod Python kami dengan mengimport kit alat 'pandas' ke dalam program kerana kami perlu menggunakan ciri Pandas untuk membina DataFrame serta mengisi nilai yang hilang dalam DataFrame tersebut. 'pd' digunakan sebagai alias 'pandas' sepanjang program.

Kini, kami mempunyai akses kepada ciri Pandas. Kami mula-mula menggunakan fungsi 'pd.DataFrame()' untuk menjana DataFrame kami. Kami menggunakan kaedah ini dan memulakannya dengan tiga lajur. Tajuk lajur ini ialah 'M1', 'M2', dan 'M3'. Nilai dalam lajur 'M1' ialah '1', 'Tiada', '5', '9' dan '3'. Entri dalam 'M2' ialah 'Tiada', '3', '8', '4', dan '6'. Manakala “M3” menyimpan data sebagai “1”, “2”, “3”, “5”, dan “Tiada”. Kami memerlukan objek DataFrame di mana kami boleh menyimpan DataFrame ini apabila kaedah 'pd.DataFrame()' dipanggil. Kami mencipta objek DataFrame 'hilang' dan menetapkannya mengikut hasil yang kami dapat daripada fungsi 'pd.DataFrame()'. Kemudian, kami menggunakan kaedah 'print()' Python untuk memaparkan DataFrame pada konsol Python.


Apabila kami menjalankan sebahagian kod ini, DataFrame dengan tiga lajur boleh dilihat pada terminal. Di sini, kita boleh melihat bahawa semua tiga lajur mengandungi nilai nol di dalamnya.


Kami mencipta DataFrame dengan beberapa nilai nol untuk menggunakan fungsi 'fillna()' Pandas untuk mengisi nilai yang hilang dengan 0. Mari belajar bagaimana kita boleh melakukannya.

Selepas memaparkan DataFrame, kami menggunakan fungsi 'fillna()' Pandas. Di sini, kita akan belajar untuk mengisi nilai yang hilang dalam satu lajur. Sintaks untuk ini telah disebutkan pada permulaan tutorial. Kami memberikan nama DataFrame dan menentukan tajuk lajur tertentu dengan fungsi '.fillna()'. Di antara kurungan kaedah ini, kami menyediakan nilai yang akan diletakkan di tempat nol. Nama DataFrame 'hilang' dan lajur yang kami pilih di sini ialah 'M2'. Nilai yang disediakan di antara pendakap 'fillna()' ialah '0'. Akhir sekali, kami memanggil fungsi 'print()' untuk melihat DataFrame yang dikemas kini.


Di sini, anda boleh melihat bahawa lajur 'M2' DataFrame tidak memegang sebarang nilai yang hilang sekarang kerana nilai NaN diisi dengan 0.


Untuk mengisi nilai NaN untuk keseluruhan DataFrame dengan kaedah yang sama, kami memanggil 'fillna()'. Ini agak mudah. Kami memberikan nama DataFrame dengan fungsi 'fillna()' dan memberikan nilai fungsi '0' antara kurungan. Akhirnya, fungsi 'cetak ()' menunjukkan kepada kami DataFrame yang diisi.


Ini memberi kita DataFrame tanpa nilai NaN kerana semua nilai diisi semula dengan 0 sekarang.

Contoh 2: Isikan Nilai NaN Menggunakan Kaedah 'Ganti()' Panda

Bahagian artikel ini menunjukkan kaedah lain untuk mengisi nilai NaN dalam DataFrame. Kami akan menggunakan fungsi 'replace()' Panda untuk mengisi nilai dalam satu lajur dan dalam DataFrame yang lengkap.

Kami mula menulis kod dalam alat 'Spyder'. Pertama, kami mengimport perpustakaan yang diperlukan. Di sini, kami memuatkan perpustakaan Pandas untuk membolehkan program Python menggunakan kaedah Pandas. Pustaka kedua yang kami muatkan ialah NumPy dan alias ia kepada 'np'. NumPy mengendalikan data yang hilang dengan kaedah 'replace()'.

Kemudian, kami menghasilkan DataFrame yang mempunyai tiga lajur - 'skru', 'paku' dan 'gerudi'. Nilai dalam setiap lajur diberikan masing-masing. Lajur 'skru' mempunyai nilai '112', '234', 'Tiada' dan '650'. Lajur 'paku' mempunyai '123', '145', 'Tiada' dan '711'. Akhir sekali, lajur 'latih tubi' mempunyai nilai '312', 'Tiada', '500' dan 'Tiada'. DataFrame disimpan dalam objek DataFrame 'alat' dan dipaparkan menggunakan kaedah 'cetak ()'.


DataFrame dengan empat nilai NaN dalam rekod boleh dilihat dalam imej output berikut:


Kini, kami menggunakan kaedah 'replace()' Pandas untuk mengisi nilai nol dalam satu lajur DataFrame. Untuk tugas itu, kami menggunakan fungsi 'replace()'. Kami membekalkan nama DataFrame 'alat' dan lajur 'skru' dengan kaedah '.replace()'. Di antara pendakapnya, kami menetapkan nilai '0' untuk entri 'np.nan' dalam DataFrame. Kaedah 'cetak ()' digunakan untuk memaparkan output.


DataFrame yang terhasil menunjukkan kepada kita lajur pertama dengan entri NaN digantikan dengan 0 dalam lajur 'skru'.


Sekarang, kita akan belajar untuk mengisi nilai dalam keseluruhan DataFrame. Kami memanggil kaedah 'replace()' dengan nama DataFrame dan memberikan nilai yang ingin kami gantikan dengan entri np.nan. Akhirnya, kami mencetak DataFrame yang dikemas kini dengan fungsi 'cetak ()'.


Ini menghasilkan DataFrame yang terhasil tanpa rekod yang hilang.

Kesimpulan

Berurusan dengan entri yang hilang dalam DataFrame adalah perkara asas dan merupakan keperluan yang diperlukan untuk mengurangkan kerumitan dan mengendalikan data dengan tegas dalam proses analisis data. Panda memberi kami beberapa pilihan untuk mengatasi masalah ini. Kami membawa dua strategi berguna dalam panduan ini. Kami mempraktikkan kedua-dua teknik dengan bantuan alat 'Spyder' untuk melaksanakan kod sampel untuk menjadikan perkara itu boleh difahami dan lebih mudah untuk anda. Mendapat pengetahuan tentang fungsi ini akan mempertajam kemahiran Panda anda.