Temukan nan di daftar python

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

  1. Menggunakan fungsi isnan() Numpy
  2. Dengan menggunakan fungsi isnan() Math
  3. Menggunakan fungsi Pandas isnull()
  4. Menggunakan untuk loop
  5. 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
_0

Seluruh 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
_4

Juga, 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
_4

4. 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
_4

Seluruh 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
_3

Ekspresi 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
_4

Populer 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

Bagaimana Anda menemukan NaN dalam daftar Python?

isnan() untuk Memeriksa nilai NaN dengan Python. Untuk memeriksa NaN kita dapat menggunakan matematika. fungsi isnan() karena NaN tidak dapat diuji menggunakan operator ==.

Bagaimana cara menghapus NaN dari daftar di Python panda?

fungsi dropna() digunakan untuk menghapus nilai NaN dari Seri panda. Ini mengembalikan seri baru dengan nilai yang sama seperti aslinya tetapi tanpa nilai NaN.

Bagaimana cara memeriksa apakah nilai panda adalah NaN?

Cara memeriksa NaN di Pandas DataFrame adalah sebagai berikut. .
Periksa NaN dengan isnull(). nilai-nilai. apapun() metode
Hitung NaN Menggunakan isnull(). jumlah() Metode
Periksa NaN Menggunakan isnull(). jumlah()

Bagaimana Anda menghitung nilai NaN dalam daftar?

Untuk menghitung jumlah instance nan dalam kumpulan data, kita dapat memanggil np. isnan mengembalikan topeng benar / salah tergantung pada apakah datanya nan. Kemudian kita dapat menggunakan np. fungsi count_nonzero untuk menjumlahkan total .