سيأخذك محرر Downcodes إلى فهم الوظيفتين المستخدمتين لاكتشاف القيم المفقودة في مكتبة معالجة بيانات Python: isna() و isnull(). وظائف هاتين الوظيفتين متماثلة تمامًا، فكلاهما يقوم بإرجاع كائن منطقي بنفس شكل البيانات الأصلية، والذي يُستخدم للإشارة إلى ما إذا كان كل عنصر في البيانات يمثل قيمة مفقودة. وهي موجودة لتكون متوافقة مع مصطلحات لغات البرمجة المختلفة (مثل لغة R) ولتسهيل على المستخدمين تبديل أدوات تحليل البيانات. ستشرح هذه المقالة بالتفصيل سيناريوهات الاستخدام والنقاط المشتركة واقتراحات بناء الجملة والاختيار لهاتين الوظيفتين من خلال أمثلة التعليمات البرمجية وأوصاف سيناريوهات التطبيق، وستساعدك على فهم هاتين الوظيفتين المهمتين واستخدامهما بشكل أفضل وتحسين كفاءة معالجة البيانات.
في مكتبة الباندا لمعالجة البيانات في بايثون، تعتبر كل من isna() و isnull() وظيفتين تستخدمان للكشف عن القيم المفقودة. هاتان الوظيفتان متطابقتان وظيفيًا، وكلاهما ترجع كائنًا منطقيًا بنفس شكل البيانات الأصلية، مما يشير إلى ما إذا كان كل عنصر في البيانات يمثل قيمة مفقودة. ومع ذلك، على الرغم من أن وظائفها هي نفسها، فإن توفير وظيفتين بأسماء مختلفة هو جعل الباندا متسقة مع التعابير في اللغات الأخرى (مثل لغة R)، وبالتالي تقليل تكلفة التعلم للمستخدمين للتبديل بين لغات تحليل البيانات المختلفة.
على وجه التحديد، الدالة isnull() هي دالة كانت تمتلكها الباندا في الأصل، بينما تم تقديم isna() لاحقًا لتكون متوافقة مع اصطلاح التسمية في لغة R. لذلك، فيما يتعلق بعادات الاستخدام، قد يختار مستخدمون مختلفون استخدام أي من هاتين الوظيفتين بناءً على تفضيلات الخلفية الخاصة بهم.
على الرغم من عدم وجود اختلاف وظيفي بين isna() وisnull()، إلا أن فهم سيناريوهات الاستخدام يمكن أن يساعدنا في إجراء تحليل البيانات بشكل أكثر فعالية. في معالجة البيانات اليومية، غالبًا ما نحتاج إلى اكتشاف القيم المفقودة ومعالجتها، وتحديد البيانات المفقودة بشكل فعال، وهو أمر بالغ الأهمية لتنظيف البيانات وتحليلها لاحقًا.
أولاً، يمكن تطبيق كلتا الوظيفتين على كائنات DataFrame وSeries في مكتبة الباندا. سواء كانت تعمل على مجموعة البيانات بأكملها أو على عمود معين في مجموعة البيانات، فيمكنها إرجاع كائن منطقي، حيث يمثل True القيم المفقودة (مثل NaN، وNone، وما إلى ذلك)، ويمثل False القيم غير المفقودة.
على سبيل المثال:
استيراد الباندا ك pd
استيراد numpy كـ np
df = pd.DataFrame({'A': [1, np.nan, 3], 'B': [4, 5, np.nan]})
طباعة (df.isnull())
طباعة (df.isna())
سيُخرج الكود أعلاه إطاري بيانات منطقيين متطابقين، مما يوضح ما إذا كان كل موضع من البيانات الأصلية يحتوي على قيمة مفقودة.
على الرغم من أن isna() وisnull() يقومان بنفس الشيء، إلا أنهما أيضًا متسقان نحويًا حيث لا يقبل أي منهما أي وسيطات (بخلاف الكائن الذي يتم استدعاؤهما عليه). وهذا يدل على أنه لا يوجد فرق بين الاثنين من حيث سهولة الاستخدام.
في الاستخدام الفعلي، يعتمد اختيار isna() أو isnull() بشكل أساسي على التفضيل الشخصي والقواعد التقليدية لفريق المشروع. إذا كنت قد بدأت بالفعل في استخدام إحدى هذه الطرق ضمن فريق أو في مشروع معين، فمن المستحسن الاستمرار في استخدامها من أجل الحفاظ على اتساق التعليمات البرمجية.
في مرحلة تنظيف البيانات ومعالجتها مسبقًا، يعد تحديد القيم المفقودة ومعالجتها خطوة مهمة جدًا. على سبيل المثال، يمكننا استخدام isna() أو isnull() لتصفية جميع الصفوف التي تحتوي على قيم مفقودة، ثم تحديد ما إذا كنت تريد حذف هذه الصفوف أو ملء هذه القيم المفقودة بناءً على احتياجات تحليل البيانات. بالإضافة إلى ذلك، قبل إجراء التحليل الإحصائي أو التدريب على نموذج التعلم الآلي، يعد التعامل مع القيم المفقودة أيضًا خطوة أساسية لتحسين جودة البيانات وضمان دقة نتائج التحليل.
وظائف isna () وisnull () في الباندا هي نفسها تمامًا، ويتم استخدامها للكشف عن القيم المفقودة في البيانات. يتم توفير الوظيفتين بشكل أساسي لمراعاة عادات الاستخدام لمختلف المستخدمين. وفي التطبيقات العملية، يمكن اختيار أي واحد منهم بناءً على التفضيل الشخصي أو الجماعي. إن إتقان هاتين الوظيفتين يمكن أن يساعدنا في تحديد القيم المفقودة في معالجة البيانات والتعامل معها بمرونة أكبر، وهي إحدى المهارات الأساسية في مجال تحليل البيانات وعلوم البيانات.
1. ما هي الدالتان isna() و isnull()؟
isna() و isnull() كلاهما وظيفتان في Python تستخدمان للتحقق مما إذا كانت البيانات فارغة. كلاهما لهما نفس الوظيفة ويمكنهما مساعدتنا في تحديد القيم المفقودة في مجموعة البيانات.
2. ما هي سيناريوهات تطبيق isna() وisnull()؟
تُستخدم هاتان الوظيفتان بشكل شائع جدًا في تحليل البيانات ومعالجة البيانات. على سبيل المثال، أثناء عملية تنظيف البيانات، نحتاج عادةً إلى التحقق مما إذا كانت هناك قيم مفقودة في مجموعة البيانات حتى نتمكن من التعامل معها وفقًا لذلك. يمكن أن تساعدنا الدالتان isna() وisnull() في تحديد موقع القيم المفقودة بسرعة.
3. ما الفرق بين isna() و isnull()؟
على الرغم من أن isna() وisnull() متطابقان وظيفيًا ويمكن استخدامهما للتحقق من القيم المفقودة، إلا أنهما ينشأان من مكتبات مختلفة. الدالة isna() هي دالة في مكتبة Pandas، والدالة isnull() هي دالة في مكتبة NumPy.
على الرغم من أنه يمكن استخدام الوظيفتين بالتبادل، إلا أن استخدام الدالة isna() يوصى به أكثر لأن مكتبة Pandas توفر وظائف أكثر ثراءً لمعالجة البيانات وتحليلها. بالإضافة إلى ذلك، تتوافق وظيفة isna() أكثر مع اصطلاح التسمية لمكتبة Pandas، مما يجعل التعليمات البرمجية أكثر توحيدًا وفهمًا. لذلك، يوصى باستخدام الدالة isna() في مشاريع Pandas للتحقق من القيم المفقودة.
آمل أن يساعدك الشرح الذي قدمه محرر Downcodes في فهم واستخدام وظائف isna() و isnull() بشكل أفضل في الباندا. في التطبيقات العملية، يمكن أن يؤدي الاستخدام المرن لهاتين الوظيفتين إلى تحسين كفاءة معالجة البيانات لديك بشكل فعال.