Noto‘g‘ri ma’lumotlarni tozalash


ULASHISH

Noto‘g‘ri ma’lumotlar

"Noto‘g‘ri ma’lumotlar" albatta "bo‘sh kataklar" yoki "noto‘g‘ri format" bo‘lishi shart emas — ular shunchaki xato bo‘lishi mumkin, masalan, kimdir "1.99" o‘rniga "199" deb kiritib qo‘ygan bo‘lsa.

Ba’zan ma’lumotlar to‘plamiga qarab, noto‘g‘ri ma’lumotlarni payqash mumkin, chunki ular qanday bo‘lishi kerakligini taxminan bilasiz.

Ma’lumotlar to‘plamimizga qarasangiz, 7-qatorda davomiylik 450 ekanini, boshqa barcha qatorlarda esa davomiylik 30 dan 60 gacha ekanini ko‘rasiz.

Bu albatta xato bo‘lishi shart emas, ammo bu kimningdir mashg‘ulotlari haqidagi ma’lumotlar to‘plami ekanini hisobga olsak, bu odam 450 daqiqa mashq qilmagan degan xulosaga kelamiz.

      Duration          Date  Pulse  Maxpulse  Calories
  0         60  '2020/12/01'    110       130     409.1
  1         60  '2020/12/02'    117       145     479.0
  2         60  '2020/12/03'    103       135     340.0
  3         45  '2020/12/04'    109       175     282.4
  4         45  '2020/12/05'    117       148     406.0
  5         60  '2020/12/06'    102       127     300.0
  6         60  '2020/12/07'    110       136     374.0
  7        450  '2020/12/08'    104       134     253.3
  8         30  '2020/12/09'    109       133     195.1
  9         60  '2020/12/10'     98       124     269.0
  10        60  '2020/12/11'    103       147     329.3
  11        60  '2020/12/12'    100       120     250.7
  12        60  '2020/12/12'    100       120     250.7
  13        60  '2020/12/13'    106       128     345.3
  14        60  '2020/12/14'    104       132     379.3
  15        60  '2020/12/15'     98       123     275.0
  16        60  '2020/12/16'     98       120     215.2
  17        60  '2020/12/17'    100       120     300.0
  18        45  '2020/12/18'     90       112       NaN
  19        60  '2020/12/19'    103       123     323.0
  20        45  '2020/12/20'     97       125     243.0
  21        60  '2020/12/21'    108       131     364.2
  22        45           NaN    100       119     282.0
  23        60  '2020/12/23'    130       101     300.0
  24        45  '2020/12/24'    105       132     246.0
  25        60  '2020/12/25'    102       126     334.5
  26        60      20201226    100       120     250.0
  27        60  '2020/12/27'     92       118     241.0
  28        60  '2020/12/28'    103       132       NaN
  29        60  '2020/12/29'    100       132     280.0
  30        60  '2020/12/30'    102       129     380.3
  31        60  '2020/12/31'     92       115     243.0

7-qatordagi "Duration" qiymati kabi noto‘g‘ri qiymatlarni qanday tuzatish mumkin?



Qiymatlarni almashtirish

Noto‘g‘ri qiymatlarni tuzatishning bir usuli — ularni boshqa qiymat bilan almashtirish.

Bizning misolimizda bu, ehtimol, yozishdagi xato va qiymat "450" emas, "45" bo‘lishi kerak. Shuning uchun 7-qatorga shunchaki "45" qiymatini yozib qo‘yishimiz mumkin:

Misol

7-qatorda "Duration" = 45 qilib belgilang:

df.loc[7, 'Duration'] = 45
O‘zingiz sinab ko‘ring »

Kichik ma’lumotlar to‘plamlarida noto‘g‘ri ma’lumotlarni birma-bir almashtirish mumkin, lekin katta to‘plamlarda bunday qilib bo‘lmaydi.

Kattaroq ma’lumotlar to‘plamlarida noto‘g‘ri ma’lumotlarni almashtirish uchun ma’lum qoidalar yaratishingiz mumkin, masalan, ruxsat etilgan qiymatlar uchun chegaralar belgilab, shu chegaralardan tashqaridagi barcha qiymatlarni almashtirish.

Misol

"Duration" ustunidagi barcha qiymatlarni sikl orqali ko‘rib chiqing.

Agar qiymat 120 dan katta bo‘lsa, uni 120 ga teng qilib belgilang:

for x in df.index:   if df.loc[x, "Duration"] > 120:     df.loc[x, "Duration"] = 120
O‘zingiz sinab ko‘ring »

Qatorlarni o‘chirish

Noto‘g‘ri ma’lumotlar bilan ishlashning yana bir usuli — noto‘g‘ri ma’lumotli qatorlarni o‘chirib tashlash.

Shunda ularni nima bilan almashtirishni o‘ylab o‘tirishingiz shart emas, qolaversa, tahlil uchun ular sizga kerak bo‘lmasligi ehtimoli katta.

Misol

"Duration" qiymati 120 dan katta bo‘lgan qatorlarni o‘chiring:

for x in df.index:   if df.loc[x, "Duration"] > 120:     df.drop(x, inplace = True)
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!