Pandas - إصلاح البيانات الخاطئة


بيانات خاطئة

لا يجب أن تكون "البيانات الخاطئة" "خلايا فارغة" أو "تنسيقًا خاطئًا" ، يمكن أن تكون خاطئة ، مثل إذا قام شخص ما بتسجيل "199" بدلاً من "1.99".

في بعض الأحيان يمكنك اكتشاف البيانات الخاطئة من خلال النظر إلى مجموعة البيانات ، لأنك تتوقع ما يجب أن تكون عليه.

إذا ألقيت نظرة على مجموعة البيانات الخاصة بنا ، يمكنك أن ترى أنه في الصف 7 ، المدة هي 450 ، ولكن بالنسبة لجميع الصفوف الأخرى ، تتراوح المدة بين 30 و 60.

لا يجب أن يكون الأمر خاطئًا ، ولكن مع الأخذ في الاعتبار أن هذه هي مجموعة بيانات جلسات التمرين لشخص ما ، فإننا نستنتج حقيقة أن هذا الشخص لم ينجح في 450 دقيقة.

      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؟


w3schools CERTIFIED . 2021

الحصول على شهادة!

أكمل وحدات Pandas ، وقم بإجراء التمارين ، وقم بإجراء الاختبار ، وستصبح معتمدًا من w3schools!

10 دولارات ENROLL

استبدال القيم

تتمثل إحدى طرق إصلاح القيم الخاطئة في استبدالها بشيء آخر.

في مثالنا ، من المرجح أن يكون خطأ إملائي ، ويجب أن تكون القيمة "45" بدلاً من "450" ​​، ويمكننا فقط إدراج "45" في الصف 7:

مثال

عيّن "Duration" = 45 في الصف 7:

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

بالنسبة لمجموعات البيانات الصغيرة ، قد تتمكن من استبدال البيانات الخاطئة واحدة تلو الأخرى ، ولكن ليس لمجموعات البيانات الكبيرة.

لاستبدال البيانات الخاطئة لمجموعات البيانات الأكبر ، يمكنك إنشاء بعض القواعد ، على سبيل المثال تعيين بعض الحدود للقيم القانونية ، واستبدال أي قيم خارج الحدود.

مثال

التكرار خلال جميع القيم في عمود "المدة".

إذا كانت القيمة أعلى من 120 ، فاضبطها على 120:

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

إزالة الصفوف

هناك طريقة أخرى للتعامل مع البيانات الخاطئة وهي إزالة الصفوف التي تحتوي على بيانات خاطئة.

بهذه الطريقة لن تضطر إلى معرفة ما يجب استبداله به ، وهناك فرصة جيدة أنك لست بحاجة إليهم لإجراء تحليلاتك.

مثال

احذف الصفوف التي تكون فيها "المدة" أعلى من 120:

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