Gấu trúc - Sửa dữ liệu sai


Dữ liệu sai

"Dữ liệu sai" không nhất thiết phải là "ô trống" hoặc "định dạng sai", nó có thể là sai, giống như nếu ai đó đăng ký "199" thay vì "1.99".

Đôi khi bạn có thể phát hiện ra dữ liệu sai bằng cách xem tập dữ liệu, bởi vì bạn có kỳ vọng về kết quả của nó.

Nếu bạn xem tập dữ liệu của chúng tôi, bạn có thể thấy rằng ở hàng 7, thời lượng là 450, nhưng đối với tất cả các hàng khác, thời lượng là từ 30 đến 60.

Điều đó không sai, nhưng khi xem xét rằng đây là tập dữ liệu về các buổi tập luyện của một người nào đó, chúng tôi kết luận rằng người này đã không tập luyện trong 450 phút.

      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

Làm cách nào để chúng tôi có thể sửa các giá trị sai, chẳng hạn như giá trị cho "Thời lượng" ở hàng 7?


w3schools CERTIFIED . 2021

Được chứng nhận!

Hoàn thành các mô-đun Pandas, làm bài tập, làm bài kiểm tra và bạn sẽ được chứng nhận w3schools!

$ 10 ĐĂNG KÝ

Thay thế giá trị

Một cách để sửa các giá trị sai là thay thế chúng bằng một thứ khác.

Trong ví dụ của chúng tôi, rất có thể đó là lỗi đánh máy và giá trị phải là "45" thay vì "450" ​​và chúng tôi chỉ có thể chèn "45" vào hàng 7:

Thí dụ

Đặt "Duration" = 45 trong hàng 7:

df.loc[7, 'Duration'] = 45

Đối với tập dữ liệu nhỏ, bạn có thể thay thế từng dữ liệu sai, nhưng đối với tập dữ liệu lớn thì không.

Để thay thế dữ liệu sai cho các tập dữ liệu lớn hơn, bạn có thể tạo một số quy tắc, ví dụ: đặt một số ranh giới cho các giá trị pháp lý và thay thế bất kỳ giá trị nào nằm ngoài ranh giới.

Thí dụ

Lặp qua tất cả các giá trị trong cột "Thời lượng".

Nếu giá trị cao hơn 120, hãy đặt nó thành 120:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.loc[x, "Duration"] = 120

Xóa hàng

Một cách khác để xử lý dữ liệu sai là loại bỏ các hàng có chứa dữ liệu sai.

Bằng cách này, bạn không phải tìm ra thứ gì để thay thế chúng và có nhiều khả năng là bạn không cần chúng thực hiện các phân tích của mình.

Thí dụ

Xóa các hàng có "Thời lượng" cao hơn 120:

for x in df.index:
  if df.loc[x, "Duration"] > 120:
    df.drop(x, inplace = True)