Skip to content Skip to sidebar Skip to footer

Tutorial Data Science Dengan Pyhton : Cara Membersihkan Data dan Mengisi Data yang Hilang di Python

Cara Membersihkan Datadan 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.

metodeTindakan
pad / isiMetode Isi Teruskan
bfill / isi ulangMetode 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"

close