Data Wrangling

الكشف الفعال عن قيم NaN في جداول بيانات Pandas

Spread the love

يُعد التعامل مع البيانات المفقودة، الممثلة بقيم NaN (ليس رقمًا)، خطوةً بالغة الأهمية في أي تدفق عمل لتحليل البيانات. توفر مكتبة Pandas، وهي مكتبة Python قوية لمعالجة البيانات، طرقًا فعالة لاكتشاف ومعالجة قيم NaN ضمن DataFrames. ستستعرض هذه المقالة نهجين رئيسيين: isnull() و isna()، مع توضيح استخدامهما بأمثلة عملية.

جدول المحتويات

طريقة pandas.DataFrame.isnull()

تُعد طريقة isnull() أداة أساسية لتحديد قيم NaN. تعمل على Pandas DataFrame، مُعيدًا DataFrame من نوع Boolean بنفس الشكل. تشير قيمة True إلى وجود قيمة NaN، بينما تشير False إلى قيمة صالحة.


import pandas as pd
import numpy as np

# DataFrame نموذجي
data = {'A': [1, 2, np.nan, 4],
        'B': [5, np.nan, 7, 8],
        'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)

# الكشف عن قيم NaN
isnull_df = df.isnull()
print(isnull_df)

سوف يُخرج هذا DataFrame من نوع Boolean يبرز مواقع قيم NaN.

للتحقق من وجود أي قيمة NaN ضمن DataFrame بأكمله، اجمع isnull() مع طريقة any():


has_nan = df.isnull().any().any()
print(f"هل يحتوي DataFrame على أي قيم NaN؟ {has_nan}")

طريقة pandas.DataFrame.isna()

طريقة isna() متطابقة وظيفيًا مع isnull(). تخدم نفس الغرض – تحديد قيم NaN وإرجاع DataFrame من نوع Boolean. يعتمد الاختيار بين الاثنين إلى حد كبير على التفضيل الشخصي؛ يجد الكثيرون أن isna() أكثر قابلية للقراءة.


isna_df = df.isna()
print(isna_df)

الكشف عن قيم NaN في أعمدة محددة

في كثير من الأحيان، ستحتاج إلى التحقق من قيم NaN فقط ضمن أعمدة معينة. يمكن تحقيق ذلك بتطبيق طريقة isnull() أو isna() على عمود محدد:


has_nan_in_column_A = df['A'].isna().any()
print(f"هل يحتوي العمود 'A' على أي قيم NaN؟ {has_nan_in_column_A}")

معالجة قيم NaN

بمجرد الكشف عن قيم NaN، يمكن استخدام استراتيجيات متنوعة للتعامل معها. تشمل النهج الشائعة:

  • الإزالة: حذف الصفوف أو الأعمدة التي تحتوي على قيم NaN باستخدام dropna().
  • الاستبدال: استبدال قيم NaN بقيم مُقدرة (مثل المتوسط ​​أو الوسيط أو ثابت) باستخدام fillna().

يعتمد أفضل نهج على طبيعة بياناتك وأهداف التحليل.

باختصار، كل من isnull() و isna() أداتان قيّمتان لاكتشاف وإدارة البيانات المفقودة بشكل فعال في Pandas DataFrames. يضمن الجمع بين هاتين الطريقتين مع تقنيات تنظيف البيانات جودة البيانات ودقتها في تحليلاتك.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *