Tutorial Data Science Dengan Pyhton : Cara Membersihkan Data dan Mengisi Data yang Hilang di Python
Data yang hilang selalu menjadi masalah dalam skenario kehidupan nyata. Area seperti machine learning dan data mining menghadapi masalah parah dalam keakuratan prediksi modelnya karena kualitas data yang buruk yang disebabkan oleh nilai yang hilang. Di area ini, perlakuan nilai yang hilang merupakan titik fokus utama untuk membuat model mereka lebih akurat dan valid.
Kapan dan Mengapa Data Tidak Ada?
Mari kita pertimbangkan survei online untuk suatu produk. Seringkali, orang tidak membagikan semua informasi yang berkaitan dengan mereka. Hanya sedikit orang yang berbagi pengalaman mereka, tetapi tidak berapa lama mereka menggunakan produk tersebut; hanya sedikit orang yang berbagi berapa lama mereka menggunakan produk, pengalaman mereka, tetapi bukan informasi kontak mereka. Jadi, dalam beberapa hal atau dengan cara lain, sebagian data selalu hilang, dan ini sangat umum dalam waktu nyata.
Sekarang mari kita lihat bagaimana kita dapat menangani nilai yang hilang (katakanlah NA atau NaN) menggunakan Pandas.
# import the pandas library import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index=['a', 'c', 'e', 'f', 'h'],columns=['one', 'two', 'three']) df = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) print df
Its keluaran adalah sebagai berikut -
one two three a 0.077988 0.476149 0.965836 b NaN NaN NaN c -0.390208 -0.551605 -2.301950 d NaN NaN NaN e -2.000303 -0.788201 1.510072 f -0.930230 -0.670473 1.146615 g NaN NaN NaN h 0.085100 0.532791 0.887415
Menggunakan pengindeksan ulang, kami telah membuat DataFrame dengan nilai yang hilang. Dalam keluarannya, NaN berarti Bukan Angka.
Periksa Nilai yang Hilang
Untuk mempermudah pendeteksian nilai yang hilang (dan di berbagai tipe d array), Pandas menyediakan fungsi isnull () dan notnull () , yang juga merupakan metode pada objek Series dan DataFrame -
Contoh
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index=['a', 'c', 'e', 'f', 'h'],columns=['one', 'two', 'three']) df = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) print df['one'].isnull()
Its keluaran adalah sebagai berikut -
a False b True c False d True e False f False g True h False Name: one, dtype: bool
Membersihkan / Mengisi Data yang Hilang
Panda menyediakan berbagai metode untuk membersihkan nilai yang hilang. Fungsi fillna dapat "mengisi" nilai NA dengan data non-null dalam beberapa cara, yang telah kita ilustrasikan pada bagian berikut.
Gantikan NaN dengan Nilai Skalar
Program berikut menunjukkan bagaimana Anda dapat mengganti "NaN" dengan "0".
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(3, 3), index=['a', 'c', 'e'],columns=['one', 'two', 'three']) df = df.reindex(['a', 'b', 'c']) print df print ("NaN replaced with '0':") print df.fillna(0)
Its keluaran adalah sebagai berikut -
one two three a -0.576991 -0.741695 0.553172 b NaN NaN NaN c 0.744328 -1.735166 1.749580 NaN replaced with '0': one two three a -0.576991 -0.741695 0.553172 b 0.000000 0.000000 0.000000 c 0.744328 -1.735166 1.749580
Di sini, kami mengisi dengan nilai nol; sebagai gantinya kita juga bisa mengisi dengan nilai lainnya.
Isi NA Maju dan Mundur
Menggunakan konsep pengisian yang dibahas dalam Bab Pengindeksan Ulang, kami akan mengisi nilai yang hilang.
metode | Tindakan |
---|---|
pad / isi | Metode Isi Teruskan |
bfill / isi ulang | Metode Isi Mundur |
Contoh
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index=['a', 'c', 'e', 'f', 'h'],columns=['one', 'two', 'three']) df = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) print df.fillna(method='pad')
Its keluaran adalah sebagai berikut -
one two three a 0.077988 0.476149 0.965836 b 0.077988 0.476149 0.965836 c -0.390208 -0.551605 -2.301950 d -0.390208 -0.551605 -2.301950 e -2.000303 -0.788201 1.510072 f -0.930230 -0.670473 1.146615 g -0.930230 -0.670473 1.146615 h 0.085100 0.532791 0.887415
Jatuhkan Nilai yang Hilang
Jika Anda hanya ingin mengecualikan nilai yang hilang, gunakan fungsi dropna bersama dengan argumen sumbu . Secara default, axis = 0, yaitu, sepanjang baris, yang berarti bahwa jika ada nilai dalam satu baris adalah NA maka seluruh baris akan dikecualikan.
Contoh
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(5, 3), index=['a', 'c', 'e', 'f', 'h'],columns=['one', 'two', 'three']) df = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) print df.dropna()
Its keluaran adalah sebagai berikut -
one two three a 0.077988 0.476149 0.965836 c -0.390208 -0.551605 -2.301950 e -2.000303 -0.788201 1.510072 f -0.930230 -0.670473 1.146615 h 0.085100 0.532791 0.887415
Ganti Nilai Umum yang Hilang (atau)
Sering kali, kita harus mengganti nilai generik dengan nilai tertentu. Kami dapat mencapai ini dengan menerapkan metode ganti.
Mengganti NA dengan nilai skalar adalah perilaku yang setara dari fungsi fillna () .
Contoh
import pandas as pd import numpy as np df = pd.DataFrame({'one':[10,20,30,40,50,2000], 'two':[1000,0,30,40,50,60]}) print df.replace({1000:10,2000:60})
Its keluaran adalah sebagai berikut -
one two 0 10 10 1 20 0 2 30 30 3 40 40 4 50 50 5 60 60
Post a Comment for "Tutorial Data Science Dengan Pyhton : Cara Membersihkan Data dan Mengisi Data yang Hilang di Python"