Dalam python, NaN adalah singkatan dari Not a Number. Ini digunakan untuk mewakili nilai yang tidak ada dalam kumpulan data atau file. Ini dikategorikan sebagai nilai floating-point khusus dan hanya dapat dikonversi ke tipe data float. Berurusan dengan tipe NaN diperlukan saat mengerjakan kumpulan data. Ada beberapa cara dan fungsi bawaan di python untuk menghapus nilai NaN. Pada artikel ini, kita akan melihat cara-cara seperti itu dengan python untuk menghapus nan dari daftar
Isi
Mengapa kita harus menghapus nilai NaN?
Saat melakukan analisis data, penting untuk menghapus nilai NaN. NaN pada dasarnya mewakili data yang tidak ada atau tidak dikumpulkan. Karena data yang hilang, mungkin menyesatkan model. Ini mungkin mempengaruhi akurasi dan prediksi model. Oleh karena itu, penting untuk menghapus nilai nan
Mengapa kita tidak bisa menggunakan np. nan == np. nan?
Saat kami melakukan np. nan == np. nan dengan python, hasilnya Salah karena tidak sama
import numpy as np print(np.nan == np.nan)
Keluarannya adalah
False_Alasan di baliknya adalah bahwa python tidak mempertimbangkan hubungan ekuivalensi antara dua nilai NaN. Karena nilai NaN tidak ditentukan, dua nilai NaN tidak sama
Cara menghapus nan dari daftar
Mari kita lihat 5 cara mudah dan efektif di python untuk menghapus nilai nan dari daftar
- Menggunakan fungsi isnan() Numpy
- Dengan menggunakan fungsi isnan() Math
- Menggunakan fungsi Pandas isnull()
- Menggunakan untuk loop
- Dengan pemahaman daftar
1. Python Hapus nan dari Daftar Menggunakan fungsi isnan() Numpy
Fungsi isnan() di numpy akan memeriksa dalam array numpy apakah elemennya NaN atau tidak. Ini mengembalikan array numpy sebagai output yang berisi nilai boolean. Nilainya akan menjadi False jika itemnya bukan NaN dan True jika itemnya NaN
Untuk itu, pertama-tama, kita harus mengimpor pustaka numpy
import numpy as np from numpy import nan
Menggunakan np. array(), kita akan membuat array numpy yang berisi tiga nilai integer dan tiga nilai NaN
my_array = np.array([10, 25, nan, 15,nan,nan]
Kemudian, kita akan membungkus np. fungsi logical_not() di sekitar keluaran fungsi isnan(). Kami melakukannya karena kami ingin nilai non-NaN dicetak ke dalam array baru. Dengan menggunakan logical_not(), itu akan mengubah nilai False menjadi True dan sebaliknya. Jadi, untuk nilai non-NaN, nilainya adalah True, dan untuk nilai NaN, nilainya adalah false. Kami akan menyimpan array baru ke dalam variabel 'new_array'
new_array = my_array[np.logical_not(np.isnan(my_array))] print(new_array) _
Keluarannya adalah
[10. 25. 15.]Seluruh kode adalah
import numpy as np from numpy import nan my_array = np.array([10, 25, nan, 15,nan,nan]) new_array = my_array[np.logical_not(np.isnan(my_array))] print(new_array) _
Populer sekarang
[Fixed] Modul Seaborn tidak memiliki Attribute Histplot Error
2. Dengan menggunakan fungsi isnan() Math
Seperti numpy, perpustakaan matematika python juga memiliki fungsi isnan(). Ini akan mengembalikan nilai boolean – True jika nomornya NaN dan False jika bukan NaN
Untuk menggunakan fungsi isnan() matematika, pertama-tama kita harus mengimpor perpustakaan matematika
import math from numpy import nan
Kemudian, kita akan membuat daftar yang berisi nilai integer dan NaN
my_list = [10, 25, nan, 15,nan,nan] _
Isnan() di perpustakaan matematika akan memeriksa satu nomor individu pada satu waktu. Jadi, kami akan menggunakan pemahaman daftar di sini untuk mengulangi satu item dan menyimpan daftar baru ke dalam 'new_list'
new_list = [item for item in my_list if not(math.isnan(item)) == True] print(new_list) _
Keluarannya adalah
False_0Seluruh Kode adalah
False_1
Populer sekarang
Tonny. Pembungkusan Teks Menjadi Mudah
3. Python Hapus nan dari Daftar Menggunakan fungsi Pandas isnull()
Pustaka panda di python memiliki fungsi bernama isnull() yang dapat digunakan di python untuk menghapus nilai NaN dari daftar
Pertama, kita akan mengimpor perpustakaan panda
False_2
Kemudian kita akan menggunakan pemahaman daftar di sini dan menjalankan for loop di atas daftar 'my_list'. Kami akan memeriksa menggunakan not (pd. isnull()) apakah item daftar itu NaN atau bukan dan dengan demikian menambahkan item itu ke dalam daftar baru bernama 'new_list'
False_3
Keluarannya adalah
False_4Juga, Baca. Cara Mengonversi Numpy Array ke Pandas Dataframe
Seluruh Kode adalah
False_5
Alternatifnya, kita juga bisa menggunakan fungsi isna() yang ada di panda dengan cara yang sama
False_6
Keluarannya adalah
False_44. Python Hapus nan dari Daftar Menggunakan for loop
Ini adalah metode paling dasar dan efektif untuk menghapus nilai nan dari daftar python. Kami akan menjalankan for loop sepanjang daftar. Jika kami menemukan nilai bukan NaN, kami akan menambahkan nilai itu ke daftar baru. Daftar baru tidak akan berisi nilai nan
Pertama, kita harus mengimpor nan dari perpustakaan numpy
False_8
Sekarang, kita akan membuat daftar bernama my_list. Daftar berisi tiga nilai string dan tiga nilai NaN. Kami juga akan menentukan daftar kosong bernama 'new_list. ’
False_9
Sekarang, kita akan menjalankan perulangan for melalui my_list. Di dalam for loop, kita akan menempatkan kondisi if, yang akan memeriksa apakah item daftar saat ini adalah nilai NaN atau tidak. Jika bukan NaN, maka kami akan menambahkannya ke daftar 'new_list'. Kemudian pada akhirnya, kami akan mencetak daftar itu
import numpy as np from numpy import nan 0
Keluarannya adalah
False_4Seluruh kode adalah
import numpy as np from numpy import nan 2
Sedang tren
[Memperbaiki] kesalahan JavaScript. IPython Tidak Didefinisikan
5. Dengan pemahaman daftar
Pemahaman daftar adalah cara yang efektif untuk menghasilkan urutan baru dari urutan yang sudah ada. Ini adalah bagian kompak dari kode satu baris yang dapat kita gunakan untuk mengulang urutan
Sintaks pemahaman daftar adalah
import numpy as np from numpy import nan _3Ekspresi adalah item yang akan disertakan dalam urutan. Ekspresi diikuti oleh for loop. Kami juga dapat menyebutkan kondisi if di bagian akhir jika diperlukan. Kode bekerja mirip dengan menggunakan for loop. Satu-satunya perbedaan adalah ia memiliki baris kode yang lebih sedikit dan karenanya lebih efisien
import numpy as np from numpy import nan _4
Keluarannya adalah
False_4Populer sekarang
[Tetap] “io. operasi yang tidak didukung tidak dapat dibaca” Kesalahan
Itu merangkum berbagai cara di python untuk menghapus nilai NaN dari daftar. Jika Anda memiliki pertanyaan di benak Anda atau pemikiran apa pun untuk dibagikan, jangan lupa untuk meninggalkannya di komentar di bawah