NaN adalah kependekan dari Bukan angka. Ini digunakan untuk mewakili entri yang tidak terdefinisi. Ini juga digunakan untuk mewakili nilai yang hilang dalam kumpulan data
Konsep NaN sudah ada bahkan sebelum Python dibuat. IEEE Standard for Floating-Point Arithmetic (IEEE 754) memperkenalkan NaN pada tahun 1985
NaN adalah nilai floating-point khusus yang tidak dapat dikonversi ke tipe lain selain float
Dalam tutorial ini kita akan melihat bagaimana NaN bekerja di Pandas dan Numpy
NaN di Numpy
Mari kita lihat bagaimana NaN bekerja di bawah Numpy. Untuk mengamati properti NaN, mari buat array Numpy dengan nilai NaN
import numpy as np arr = np.array([1, np.nan, 3, 4, 5, 6, np.nan]) pritn(arr)
Keluaran
[ 1. nan 3. 4. 5. 6. nan] _
1. Operasi matematika pada array Numpy dengan NaN
Mari coba panggil beberapa fungsi dasar pada array Numpy
print(arr.sum())
Keluaran
nan
Mari coba temukan maksimum dari array
print(arr.max()) _
Keluaran
nan
Untungnya Numpy menawarkan metode yang mengabaikan nilai NaN saat melakukan operasi Matematika
2. Cara mengabaikan nilai NaN saat melakukan operasi Matematika pada larik Numpy
Numpy menawarkan Anda metode seperti np. nansum() dan np. nanmax() untuk menghitung jumlah dan maks setelah mengabaikan nilai NaN dalam array
np.nansum(arr) _
Keluaran
19.0
np.nanmax(arr) _
6.0 _
Jika Anda mengaktifkan pelengkapan otomatis di IDE, Anda akan melihat daftar opsi berikut saat bekerja dengan np. nan
3. Memeriksa nilai NaN
Untuk memeriksa nilai NaN dalam array Numpy Anda dapat menggunakan np. metode isnan()
Ini menghasilkan topeng boolean dengan ukuran array asli
[ 1. nan 3. 4. 5. 6. nan] _0
Keluaran
[ 1. nan 3. 4. 5. 6. nan] _1
Array keluaran bernilai benar untuk indeks yang merupakan NaN dalam larik asli dan salah untuk sisanya
4. Menyamakan dua nan
Apakah dua NaN sama satu sama lain?
Ini bisa menjadi pertanyaan yang membingungkan. Mari kita coba menjawabnya dengan menjalankan beberapa kode python
[ 1. nan 3. 4. 5. 6. nan] _2
Kedua pernyataan ini menginisialisasi dua variabel, a dan b dengan nan. Mari kita coba samakan keduanya
[ 1. nan 3. 4. 5. 6. nan] _3
Keluaran
[ 1. nan 3. 4. 5. 6. nan] _4
Di Python kami juga memiliki operator is. Mari coba gunakan itu untuk membandingkan kedua variabel
[ 1. nan 3. 4. 5. 6. nan] _5
Keluaran
[ 1. nan 3. 4. 5. 6. nan] _6
Alasannya adalah == operator membandingkan nilai dari kedua operan dan memeriksa kesetaraan nilai. print(arr.sum()) 7, di sisi lain, memeriksa apakah kedua operan merujuk ke objek yang sama atau tidak
Nyatanya, Anda dapat mencetak ID a dan b dan melihat bahwa keduanya merujuk ke objek yang sama
[ 1. nan 3. 4. 5. 6. nan] _7
Keluaran
[ 1. nan 3. 4. 5. 6. nan] _8
[ 1. nan 3. 4. 5. 6. nan] _9
Keluaran
[ 1. nan 3. 4. 5. 6. nan] _8
NaN dalam Bingkai Data Pandas
Pandas DataFrames adalah cara umum mengimpor data ke python. Mari kita lihat bagaimana kita menangani nilai NaN dalam Pandas Dataframe
Mari kita mulai dengan membuat kerangka data
print(arr.sum()) 1
Keluaran
1. Memeriksa nilai NaN
Anda dapat memeriksa nilai NaN dengan menggunakan metode isnull(). Outputnya akan menjadi topeng boolean dengan dimensi kerangka data asli
print(arr.sum()) 2
Keluaran
2. Mengganti nilai NaN
Ada beberapa cara untuk mengganti nilai NaN dalam Pandas Dataframe. Cara paling umum untuk melakukannya adalah dengan menggunakan. metode fillna()
Metode ini mengharuskan Anda menentukan nilai untuk menggantikan NaN
print(arr.sum()) _3
Keluaran
Sebagai alternatif, Anda juga dapat menyebutkan nilai berdasarkan kolom. Itu berarti semua NaN di bawah satu kolom akan diganti dengan nilai yang sama
print(arr.sum()) _4
Keluaran
Anda juga dapat menggunakan interpolasi untuk mengisi nilai yang hilang dalam bingkai data. Interpolasi adalah metode yang sedikit lebih maju dibandingkan dengan. isi()
Interpolasi adalah teknik yang dapat digunakan untuk memperkirakan titik data yang tidak diketahui antara dua titik data yang diketahui
3. Jatuhkan baris yang berisi nilai NaN
Untuk menjatuhkan baris atau kolom dengan NaN, Anda dapat menggunakan. metode dropna()
Untuk menjatuhkan baris dengan penggunaan NaN
print(arr.sum()) 5
Untuk menjatuhkan kolom dengan penggunaan NaN
print(arr.sum()) 6
Kesimpulan
Tutorial ini tentang NaN dengan Python. Kami terutama berfokus pada penanganan NaN di Numpy dan Pandas. Semoga Anda senang belajar bersama kami