اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

ده الكوده 

data_train_cleaned = data_train.dropna()
print(data_train_cleaned)

ودي نتجيه الكوده 

               dri_score psych_disturb    cyto_score  ... pulm_moderate  hla_low_res_10  efs efs_time
1          1                               Intermediate            No  Intermediate  ...           Yes            10.0  1.0    4.672
3          3                                       High            No  Intermediate  ...            No            10.0  0.0  102.349
10        10                               Intermediate            No  Intermediate  ...            No            10.0  1.0    5.676
60        60  High - TED AML case <missing cytogenetics            No           TBD  ...           Yes            10.0  0.0   38.300
64        64                            N/A - pediatric           Yes          Poor  ...           Yes             9.0  1.0    5.244
...      ...                                        ...           ...           ...  ...           ...             ...  ...      ...
28758  28758                               Intermediate            No  Intermediate  ...            No            10.0  0.0   23.895
28764  28764                                       High            No          Poor  ...           Yes            10.0  1.0    3.857
28770  28770                               Intermediate           Yes  Intermediate  ...            No            10.0  1.0    7.206
28780  28780                               Intermediate            No  Intermediate  ...            No            10.0  1.0    5.932
28788  28788                               Intermediate           Yes         Other  ...            No            10.0  0.0   24.115

ازي كده مش المفروض يسمح القيمه المفقوده ؟

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله وبركاته.

من النتيجة التي قمت بإرفاقها يظهر لي بالفعل أن البيانات التي تم إرجاعها لا تحتوي على أى قيم مفقودة . وأعتقد أنك تشير إلى "N/A - pediatric" و إلى "<missing cytogenetics" وإذا كان هذا ما تقصده فهذه القيم لا تعتبر قيم مفقودة في مكتبة pandas.

وإليك أمثلة على القيم التي تعتبرها pandas كقيم مفقودة:

  • NaN (Not a Number) :
    • تأتي nan من مكتبة numpy حيث تعتبر nan هي القيم الأكثر شهرة في pandas كقيم مفقودة
      import numpy as np
      import pandas as pd
      
      data = pd.DataFrame({
          'A': [1, 2, np.nan, 4],
          'B': [5, np.nan, 7, 8]
      })

      في المثال السابق سيتم إعتبار np.nan كقيمة مفقودة.

  • None :

    data = pd.DataFrame({
        'A': [1, 2, None, 4]
    })
  • NaT (Not a Time) 

    • هو نوع خاص يتم الإشارة به إلى القيم المفقودة في الأعمدة التي تحتوي على تواريخ أو بيانات زمنية.

      data = pd.DataFrame({
          'date': [pd.to_datetime('2024-01-01'), pd.NaT, pd.to_datetime('2024-01-03')]
      })

      سيتم إعتبار pd.NaT كقيمة مفقودة.

  • السلاسل النصية الفارغة :

    data = pd.DataFrame({
        'A': ['apple', '', 'banana']
    })

ويمكنك قراءة المزيد حول القيم التي يتم إعتبارها مفقودة من خلال التوثيق الرسمي :

وإذا أردت تحويل نص معين إلى قيمة مفقودة مثل "N/A - pediatric" توجد عدة طرق .

الطريقة الأولى عند قراءة البيانات من الملف يمكنك إعتبار أى قيمة تريدها كمفقودة كالتالي :

data = pd.read_csv('data.csv', na_values=['N/A - pediatric', 'missing', 'null'])

أما الطريقى الأخرى إذا كانت لديك البيانات بالفعل يمكنك إستخدام replace كالتالي :

data['my_column'] = data['my_column'].replace(['N/A - pediatric', 'missing', 'null'], np.nan)

 

  • 0
نشر

القيم مثل "N/A - pediatric" و "<missing cytogenetics" لا تعتبر قيم مفقودة بالمعنى التقني في pandas فالقيم المفقودة التقنية في pandas هي فقط:

  • NaN
  • None
  • NaT

لذلك عندما تستخدم dropna() فإنه لن يحذف الصفوف التي تحتوي على هذه القيم النصية لذا إذا أردت اعتبار هذه القيم كقيم مفقودة، يمكنك استخدام التالي عند قراءة الملف:

pd.read_csv('data.csv', na_values=['N/A - pediatric', '<missing cytogenetics'])

أو باستخدام replace():

data_train = data_train.replace(['N/A - pediatric', '<missing cytogenetics'], np.nan)

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...