Noto‘g‘ri formatni tozalash


ULASHISH

Noto‘g‘ri formatdagi ma’lumotlar

Noto‘g‘ri formatdagi ma’lumotlarga ega kataklar ma’lumotlarni tahlil qilishni qiyinlashtirishi, hatto imkonsiz qilib qo‘yishi mumkin.

Buni tuzatishning ikki yo‘li bor: qatorlarni o‘chirish yoki ustunlardagi barcha kataklarni bir xil formatga o‘tkazish.


To‘g‘ri formatga o‘tkazish

DataFrame’imizda noto‘g‘ri formatdagi ikkita katak bor. 22- va 26-qatorlarga qarang: 'Date' ustuni sanani ifodalovchi string bo‘lishi kerak:

      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

Keling, 'Date' ustunidagi barcha kataklarni sanaga o‘tkazib ko‘ramiz.

Buning uchun Pandas’da to_datetime() metodi bor:

Misol

Sanaga o‘tkazing:

import pandas as pd df = pd.read_csv('data.csv') df['Date'] = pd.to_datetime(df['Date'], format='mixed') print(df.to_string())
O‘zingiz sinab ko‘ring »

Natija:

      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           NaT    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  '2020/12/26'    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

Natijadan ko‘rinib turibdiki, 26-qatordagi sana tuzatildi, ammo 22-qatordagi bo‘sh sana NaT (Not a Time) qiymatini, boshqacha aytganda, bo‘sh qiymatni oldi. Bo‘sh qiymatlar bilan ishlashning bir usuli — butun qatorni shunchaki o‘chirib tashlash.



Qatorlarni o‘chirish

Yuqoridagi misoldagi o‘tkazish natijasida NaT qiymati hosil bo‘ldi. Unga NULL qiymat sifatida qarash mumkin, shuning uchun qatorni dropna() metodi yordamida o‘chirib tashlashimiz mumkin.

Misol

"Date" ustunida NULL qiymati bo‘lgan qatorlarni o‘chiring:

df.dropna(subset=['Date'], inplace = True)
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!