قد تُعيق القيم المفقودة تحليلك. في مكتبة Pandas، يمكنك استخدام دالة dropna() لحذف الصفوف أو الأعمدة التي تحتوي على قيم فارغة (null) – أي البيانات المفقودة – لتتمكن من العمل مع جداول بيانات نظيفة. في هذا الدرس، ستتعلم كيف تُمكّنك معلمات هذه الدالة من التحكم بدقة في البيانات التي يتم حذفها. كما سترى، تمنحك هذه المعلمات تحكمًا دقيقًا في كمية البيانات التي ترغب في تنظيفها.
يُعدّ التعامل مع القيم الفارغة أمرًا بالغ الأهمية للحفاظ على نظافة مجموعات البيانات وتجنب المشكلات التي قد تنجم عنها. إذ يمكن أن تؤدي البيانات المفقودة إلى سوء تفسير أنواع بيانات الأعمدة، واستنتاجات غير دقيقة، وأخطاء في العمليات الحسابية. باختصار، يمكن أن تُحدث القيم الفارغة فوضى عارمة إذا ما تسللت إلى حساباتك.
لتحقيق أقصى استفادة من هذا البرنامج التعليمي، يوصى بأن يكون لديك بالفعل فهم أساسي لكيفية إنشاء إطارات بيانات باندا من الملفات.
ستستخدم بيئة بايثون التفاعلية (REPL) مع ملف باسم sales_data_with_missing_values.csv، والذي يحتوي على عدة قيم فارغة ستتعامل معها خلال التمارين. قبل البدء، استخرج هذا الملف من المواد القابلة للتنزيل بالنقر على الرابط الموجود في نهاية هذا القسم.
يعتمد ملف sales_data_with_missing_values.csv على ملف بيانات المبيعات الكامل والمتاح للجميع من موقع Kaggle. ليس من الضروري فهم محتوى الملف لهذا الشرح، ولكن يمكنك الاطلاع على رابط Kaggle أعلاه لمزيد من التفاصيل إذا رغبت.
ستحتاج أيضًا إلى تثبيت مكتبتي pandas و PyArrow للتأكد من أن جميع أمثلة التعليمات البرمجية تعمل في بيئتك:
PS> python -m pip install pandas pyarrow
حان الوقت لتحسين مهاراتك في استخدام مكتبة Pandas من خلال تعلم كيفية التعامل مع البيانات المفقودة بطرق متنوعة.
ستجد جميع أمثلة التعليمات البرمجية وملف sales_data_with_missing_values.csv في مواد هذا البرنامج التعليمي، والتي يمكنك تنزيلها بالنقر على الرابط أدناه:
احصل على الكود الخاص بك: انقر هنا لتنزيل نموذج الكود المجاني الذي ستستخدمه لتعلم كيفية حذف القيم الفارغة في مكتبة Pandas.
كيفية حذف الصفوف التي تحتوي على قيم فارغة باستخدام دالة ()dropna. في مكتبة pandas
قبل البدء بحذف الصفوف، من المفيد معرفة الخيارات التي توفرها دالة ()dropna. تدعم هذه الدالة ستة معلمات تتيح لك التحكم بدقة في ما يتم حذفه:
- axis: يحدد ما إذا كان سيتم إزالة الصفوف أو الأعمدة التي تحتوي على قيم فارغة.
threshوhow: حدد عدد القيم المفقودة التي يجب إزالتها أو الاحتفاظ بها.subset: تحد من إزالة القيم الفارغة إلى أجزاء محددة من إطار البيانات الخاص بك.- inplace: يحدد ما إذا كانت العملية تقوم بتعديل DataFrame الأصلي أو إرجاع نسخة جديدة.
- ignore_index: يعيد تعيين فهرس DataFrame بعد إزالة الصفوف.
- لا تقلق إذا لم تكن بعض هذه المعايير واضحة لك الآن، ستتعرف على سبب استخدام كل منها خلال هذا الدرس. كما ستتاح لك الفرصة لممارسة مهاراتك.
ملاحظة: على الرغم من أن هذا البرنامج التعليمي يعلمك كيفية استخدام ()dropna. في DataFrames الخاصة بـ pandas، إلا أن DataFrames ليست كائنات pandas الوحيدة التي تستخدمها.
تحتوي كائنات السلسلة أيضًا على دالة dropna() خاصة بها. مع ذلك، تحتوي نسخة السلسلة على أربعة معلمات فقط – axis و inplace و how و ignore_index – بدلًا من المعلمات الست التي تدعمها نسخة DataFrame. من بين هذه المعلمات، تُستخدم فقط inplace و ignore_index، وتعملان بنفس طريقة دالة DataFrame. أما بقية المعلمات، فتُستخدم للتوافق مع DataFrame، ولكنها لا تُؤثر على النتيجة.
تحتوي الفهارس أيضًا على طريقة .dropna() لإزالة قيم الفهرس المفقودة، وتحتوي على معلمة واحدة فقط: how.
قبل استخدام ()dropna. لحذف الصفوف، يجب عليك أولاً معرفة ما إذا كانت بياناتك تحتوي على أي قيم فارغة:
>>> import pandas as pd
>>> pd.set_option("display.max_columns", None)
>>> sales_data = pd.read_csv(
... "sales_data_with_missing_values.csv",
... parse_dates=["order_date"],
... date_format="%d/%m/%Y",
... ).convert_dtypes(dtype_backend="pyarrow")
>>> sales_data
order_number order_date customer_name \
0 <NA> 2025-02-09 00:00:00 Skipton Fealty
1 70041 <NA> Carmine Priestnall
2 70042 2025-02-09 00:00:00 <NA>
3 70043 2025-02-10 00:00:00 Lanni D'Ambrogi
4 70044 2025-02-10 00:00:00 Tann Angear
5 70045 2025-02-10 00:00:00 Skipton Fealty
6 70046 2025-02-11 00:00:00 Far Pow
7 70047 2025-02-11 00:00:00 Hill Group
8 70048 2025-02-11 00:00:00 Devlin Nock
9 <NA> <NA> <NA>
10 70049 2025-02-12 00:00:00 Swift Inc
product_purchased discount sale_price
0 Chili Extra Virgin Olive Oil True 135.0
1 <NA> <NA> 150.0
2 Rosemary Olive Oil Candle False 78.0
3 <NA> True 19.5
4 Vanilla and Olive Oil Candle <NA> 13.98
5 Basil Extra Virgin Olive Oil True <NA>
6 Chili Extra Virgin Olive Oil False 150.0
7 Chili Extra Virgin Olive Oil True 135.0
8 Lavender and Olive Oil Lotion False 39.96
9 <NA> <NA> <NA>
10 Garlic Extra Virgin Olive Oil True 936.0
لضمان ظهور جميع الأعمدة على الشاشة، يمكنك ضبط pd.set_option(“display.max_columns”, None). بتمرير None كمعامل ثانٍ، تضمن عرض جميع الأعمدة.
تقرأ ملف sales_data_with_missing_values.csv في DataFrame باستخدام دالة read_csv() من مكتبة pandas، ثم تعرض البيانات. تواريخ الطلبات في الملف بتنسيق “%d/%m/%Y”، لذا للتأكد من قراءة بيانات order_date بشكل صحيح، تستخدم المعاملين parse_dates و date_format. يُظهر الناتج وجود عشرة صفوف وستة أعمدة من البيانات في الملف.
ملاحظة: تستخدم مكتبة Pandas افتراضيًا مكتبة NumPy لأنواع البيانات الخلفية – بدءًا من الإصدار الثالث من Pandas – ستكون المكتبة الخلفية الافتراضية هي PyArrow الأكثر كفاءة. يمكنك الاستفادة من مزايا هذه المكتبة الخلفية الجديدة وأنواع بياناتها عن طريق تهيئة Pandas باستخدام الدالة
.convert_dtypes(dtype_backend="pyarrow")على DataFrame الخاص بك.استخدام PyArrow يعني أيضًا أن القيم الفارغة تُعرض دائمًا كـ . إذا كنت تستخدم واجهة NumPy الخلفية الافتراضية، فستُعرض القيمة الفارغة في order_date كـ NaT (ليست وقتًا)، بينما ستُعرض باقي القيم كـ NaN (ليست أرقامًا). لحسن الحظ، تتعامل الدالة ()dropna. مع جميع هذه القيم كقيم فارغة.
في تحليل البيانات الحقيقي، قد يكون حجم DataFrame كبيرًا جدًا بحيث لا يسمح لك برؤية جميع البيانات المفقودة. لحل هذه المشكلة، يمكنك استخدام دالتي ()isna. و ()sum. الخاصتين بـ DataFrame معًا.
>>> sales_data.isna().sum()
order_number 2
order_date 2
customer_name 2
product_purchased 3
discount 3
sale_price 2
dtype: int64
كما ترون، كل عمود من أعمدة الجدول لديك يفتقر إلى البيانات.
عند استخدامك للدالة sales_data.isna()، فإنك تُنشئ إطار بيانات منطقيًا بنفس حجم sales_data، ولكن مع استبدال القيم الفارغة بالقيمة True، وباقي القيم بالقيمة False. تقوم الدالة sum() بحساب كل قيمة True وإعادتها إليك كما هو موضح.
ملاحظة: قد تجد استخدام الدالة
.isnull(). هذه الدالة هي اسم بديل للدالة.isna()، وكلاهما يعمل بنفس الطريقة. بالإضافة إلى ذلك، توفر مكتبة Pandas الدالتين.notna()و.notnull()، اللتين يمكنك استخدامهما لمعرفة عدد القيم في كل عمود التي لا تحتوي على قيم فارغة (null).
لإزالة الصفوف التي تحتوي على قيم فارغة، يمكنك استخدام .dropna():
>>> sales_data.dropna()
order_number order_date customer_name \
6 70046 2025-02-11 00:00:00 Far Pow
7 70047 2025-02-11 00:00:00 Hill Group
8 70048 2025-02-11 00:00:00 Devlin Nock
10 70049 2025-02-12 00:00:00 Swift Inc
product_purchased discount sale_price
6 Chili Extra Virgin Olive Oil False 150.0
7 Chili Extra Virgin Olive Oil True 135.0
8 Lavender and Olive Oil Lotion False 39.96
10 Garlic Extra Virgin Olive Oil True 936.0
كما ترون، لا توجد صفوف تحتوي على قيم فارغة في أي مكان.
قد تظن أن الصفوف التي تحتوي على القيم الفارغة من جدول بيانات المبيعات (sales_data) قد حُذفت، فهذا ما يظهره الناتج. لكن هذا غير صحيح. عند استخدام دالة sales_data.dropna()، تُوضع النتائج في إطار بيانات جديد، بينما يبقى الإطار الأصلي دون تغيير. إذا أردت الاحتفاظ بهذا الإطار الثاني، فعليك إسناد ناتج دالة dropna() إلى متغير جديد.
>>> clean_sales_data = sales_data.dropna()
لن يحتوي إطار بيانات المبيعات الأصلي على صفوف ذات قيم فارغة، وسيتم إجراء أي تحليل مستقبلي على هذا الإصدار الجديد.
ملاحظة: على الرغم من أن استخدام inplace=True يُتيح لك توفير الذاكرة، إلا أنه لا يُحسّن الأداء بشكل ملحوظ أثناء المعالجة، نظرًا لوجود نسخة مؤقتة تُنشأ في الخلفية. كما أن تطبيق جزء من المعالجة على DataFrame الأصلي وجزء آخر على نسخة ثانية قد يُصعّب اكتشاف الأخطاء. ولهذا السبب، تم تقديم اقتراح لتحسين مكتبة Pandas (PDEP) يدعو إلى إيقاف استخدام inplace.
يُعد ضبط inplace=True مفيدًا للغاية عندما تريد إجراء تغيير دائم لمرة واحدة على بياناتك ثم استخدام هذا الإصدار في جميع التحليلات المستقبلية.
لقد اطلعت الآن على الاستخدام الأساسي للدالة ()dropna.، حيث تقوم بحذف الصفوف التي تحتوي على قيمة مفقودة واحدة على الأقل. ولكن هذه الدالة تتضمن أيضًا العديد من المعاملات الأخرى التي تستحق الاستكشاف.
كيفية حذف الأعمدة التي تحتوي على قيم فارغة باستخدام دالة ()dropna. في مكتبة pandas
لقد رأيت حتى الآن كيفية حذف الصفوف التي تحتوي على قيم مفقودة، ولكن من الممكن أيضًا حذف الأعمدة غير المكتملة. يتم ذلك باستخدام مُعامل المحور (axis). افتراضيًا، يكون المحور مُعيّنًا على 0، أو “index”، مما يعني أنه يعمل على صفوف البيانات. إذا كنت ترغب في تطبيقه على الأعمدة، فعليك تعيين المحور على 1 أو “columns”.
لنفترض أنك تريد إزالة الأعمدة غير المكتملة التي تحتوي على قيم فارغة من بيانات المبيعات الأصلية. إليك كيفية القيام بذلك:
>>> import pandas as pd
>>> sales_data = pd.read_csv(
... "sales_data_with_missing_values.csv",
... parse_dates=["order_date"],
... date_format="%d/%m/%Y",
... ).convert_dtypes(dtype_backend="pyarrow")
>>> sales_data.dropna(axis="columns")
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
لأن كل عمود يحتوي على قيمة مفقودة واحدة على الأقل، فقد تمت إزالتها جميعًا، مما ترك DataFrame فارغًا باستثناء فهرسه.
حتى الآن، اتبعتَ نهجًا حادًا إلى حد ما بإزالة صفوف وأعمدة كاملة. بعد ذلك، ستنظر في بعض البدائل الأقل ضررًا.
كيفية التعامل مع جزء من بياناتك
في السابق، استخدمتَ الدالة .dropna() لإزالة جميع القيم الفارغة من إطار البيانات. مع أن هذا استخدام شائع، يمكنك أيضًا إزالة القيم الفارغة من أجزاء محددة من إطار البيانات أو بناءً على حدٍّ معين. ستتعلم كيفية القيام بذلك في هذا القسم.
إزالة البيانات بناءً على صفوف أو أعمدة محددة
يمكنك تقييد حذف البيانات بناءً على الصفوف أو الأعمدة التي تظهر فيها القيم الفارغة. وهنا تبرز فائدة مُعامل المجموعة الفرعية.
بتمرير اسم عمود أو سلسلة من الأسماء إلى دالة subset، تُحدد للدالة ()dropna. الأعمدة التي يجب فحصها بحثًا عن القيم الفارغة وإزالة الصفوف المرتبطة بها. وبالمثل، بتمرير موضع فهرس أو سلسلة من مواضع الفهرس إلى دالة subset وتعيين axis=”columns”, تُزيل العمود أو الأعمدة التي تحتوي على قيم فارغة في مواضع الفهرس المحددة.
على سبيل المثال، لنفترض أنك تريد حذف الصفوف التي تحتوي على قيم فارغة في عمودَي الخصم أو سعر البيع. إذا كانت هناك قيم فارغة في أعمدة أخرى غير الخصم أو سعر البيع، فستبقى تلك الصفوف كما هي. إليك كيفية القيام بذلك:
>>> import pandas as pd
>>> pd.set_option("display.max_columns", None)
>>> sales_data = pd.read_csv(
... "sales_data_with_missing_values.csv",
... parse_dates=["order_date"],
... date_format="%d/%m/%Y",
... ).convert_dtypes(dtype_backend="pyarrow")
>>> sales_data.dropna(axis=0, subset=(["discount", "sale_price"]))
order_number order_date customer_name \
0 <NA> 2025-02-09 00:00:00 Skipton Fealty
2 70042 2025-02-09 00:00:00 <NA>
3 70043 2025-02-10 00:00:00 Lanni D'Ambrogi
6 70046 2025-02-11 00:00:00 Far Pow
7 70047 2025-02-11 00:00:00 Hill Group
8 70048 2025-02-11 00:00:00 Devlin Nock
10 70049 2025-02-12 00:00:00 Swift Inc
product_purchased discount sale_price
0 Chili Extra Virgin Olive Oil True 135.0
2 Rosemary Olive Oil Candle False 78.0
3 <NA> True 19.5
6 Chili Extra Virgin Olive Oil False 150.0
7 Chili Extra Virgin Olive Oil True 135.0
8 Lavender and Olive Oil Lotion False 39.96
10 Garlic Extra Virgin Olive Oil True 936.0
هذه المرة، قمتَ بحذف أربعة صفوف. ولتوضيح أنك تحذف صفوفًا، قمتَ بتعيين قيمة المحور إلى 0 صراحةً. مع ذلك، يمكنك حذف هذه الوسيطة لأن 0 هي القيمة الافتراضية لمعامل المحور. ولحصر تحليلك على العمودين المطلوبين، مرر قائمة بايثون [“discount”, “sale_price”] كمعامل المجموعة الفرعية.
إزالة البيانات بناءً على عدد القيم المفقودة
يمكنك استخدام الدالة dropna() لحذف صفوف أو أعمدة بناءً على كمية محددة من البيانات. لنفترض أنك قلق بشأن حجم البيانات المفقودة في إطار البيانات الخاص بك. أنت مهتم بالصفوف التي تحتوي على أكثر من قيمة مفقودة. بعبارة أخرى، تريد حذف الصفوف التي تحتوي على خمس قيم مفقودة على الأقل في أعمدتها الستة.
للقيام بذلك، يمكنك ضبط هذا الحد باستخدام معلمة thresh:
>>> sales_data.dropna(thresh=5)
order_number order_date customer_name \
0 <NA> 2025-02-09 00:00:00 Skipton Fealty
2 70042 2025-02-09 00:00:00 <NA>
3 70043 2025-02-10 00:00:00 Lanni D'Ambrogi
4 70044 2025-02-10 00:00:00 Tann Angear
5 70045 2025-02-10 00:00:00 Skipton Fealty
6 70046 2025-02-11 00:00:00 Far Pow
7 70047 2025-02-11 00:00:00 Hill Group
8 70048 2025-02-11 00:00:00 Devlin Nock
10 70049 2025-02-12 00:00:00 Swift Inc
product_purchased discount sale_price
0 Chili Extra Virgin Olive Oil True 135.0
2 Rosemary Olive Oil Candle False 78.0
3 <NA> True 19.5
4 Vanilla and Olive Oil Candle <NA> 13.98
5 Basil Extra Virgin Olive Oil True <NA>
6 Chili Extra Virgin Olive Oil False 150.0
7 Chili Extra Virgin Olive Oil True 135.0
8 Lavender and Olive Oil Lotion False 39.96
10 Garlic Extra Virgin Olive Oil True 936.0
تم حذف الصفين ذوي الفهرسين 1 و9 لاحتوائهما على قيم مفقودة متعددة. بتعيين قيمة thresh إلى 5، فإنك تُخبر الدالة ()dropna. بالاحتفاظ بجميع الصفوف التي تحتوي على خمس قيم على الأقل. وبما أن هناك ستة أعمدة، فإن جميع الصفوف المتبقية لا تحتوي على أكثر من قيمة مفقودة واحدة.
إزالة الصفوف أو الأعمدة الفارغة
قد ترغب أحيانًا في إزالة الصفوف أو الأعمدة الفارغة تمامًا فقط، بدلاً من تلك التي تحتوي على بعض القيم المفقودة. يمكنك التحكم في ذلك باستخدام مُعامل “how”.
على سبيل المثال، لنفترض أنك تريد إزالة الصفوف التي تكون فيها جميع القيم مفقودة:
>>> sales_data.dropna(how="all")
order_number order_date customer_name \
0 <NA> 2025-02-09 00:00:00 Skipton Fealty
1 70041 <NA> Carmine Priestnall
2 70042 2025-02-09 00:00:00 <NA>
3 70043 2025-02-10 00:00:00 Lanni D'Ambrogi
4 70044 2025-02-10 00:00:00 Tann Angear
5 70045 2025-02-10 00:00:00 Skipton Fealty
6 70046 2025-02-11 00:00:00 Far Pow
7 70047 2025-02-11 00:00:00 Hill Group
8 70048 2025-02-11 00:00:00 Devlin Nock
10 70049 2025-02-12 00:00:00 Swift Inc
product_purchased discount sale_price
0 Chili Extra Virgin Olive Oil True 135.0
1 <NA> <NA> 150.0
2 Rosemary Olive Oil Candle False 78.0
3 <NA> True 19.5
4 Vanilla and Olive Oil Candle <NA> 13.98
5 Basil Extra Virgin Olive Oil True <NA>
6 Chili Extra Virgin Olive Oil False 150.0
7 Chili Extra Virgin Olive Oil True 135.0
8 Lavender and Olive Oil Lotion False 39.96
10 Garlic Extra Virgin Olive Oil True 936.0
كما تلاحظ، تم حذف الصف الفارغ في الموضع 9. بتمرير قيمة how=”all” إلى الدالة ()dropna. واستخدام القيمة الافتراضية axis=0، يمكنك حذف الصفوف التي تحتوي على قيم فارغة فقط. بدلاً من ذلك، يمكنك تمرير قيمة how=”any” لحذف الصفوف أو الأعمدة التي تحتوي على قيمة فارغة واحدة على الأقل. مع ذلك، نادرًا ما تحتاج إلى القيام بذلك، لأن “any” هي القيمة الافتراضية.
إضافة اللمسة الأخيرة: إعادة ضبط الفهرس
أخيرًا، ربما لاحظتَ أنه في كل مرة تحذف فيها صفًا – سواء هنا أو في جميع أنحاء هذا الشرح – لا يتم تحديث الفهرس. كخطوة أخيرة، سيؤدي تمرير ignore_index=True إلى إعادة فهرسة DataFrame الخاص بك بالتسلسل.
>>> sales_data.dropna(thresh=5, ignore_index=True)
order_number order_date customer_name \
0 <NA> 2025-02-09 00:00:00 Skipton Fealty
1 70042 2025-02-09 00:00:00 <NA>
2 70043 2025-02-10 00:00:00 Lanni D'Ambrogi
3 70044 2025-02-10 00:00:00 Tann Angear
4 70045 2025-02-10 00:00:00 Skipton Fealty
5 70046 2025-02-11 00:00:00 Far Pow
6 70047 2025-02-11 00:00:00 Hill Group
7 70048 2025-02-11 00:00:00 Devlin Nock
8 70049 2025-02-12 00:00:00 Swift Inc
product_purchased discount sale_price
0 Chili Extra Virgin Olive Oil True 135.0
1 Rosemary Olive Oil Candle False 78.0
2 <NA> True 19.5
3 Vanilla and Olive Oil Candle <NA> 13.98
4 Basil Extra Virgin Olive Oil True <NA>
5 Chili Extra Virgin Olive Oil False 150.0
6 Chili Extra Virgin Olive Oil True 135.0
7 Lavender and Olive Oil Lotion False 39.96
8 Garlic Extra Virgin Olive Oil True 936.0
هذه المرة، يبدأ الفهرس من 0 وينتهي عند 8، ولم يتبق سوى تسعة صفوف.
ولإتمام ما تم تغطيته حتى الآن، حان الوقت لاختبار مهاراتك الجديدة.
مارس مهاراتك في استخدام دالة ()dropna. في مكتبة Pandas
للتدرب، ابدأ بتحميل محتويات ملف grades.csv إلى إطار بيانات (DataFrame):
>>> import pandas as pd
>>> grades = pd.read_csv(
... "grades.csv",
... ).convert_dtypes(dtype_backend="pyarrow")
>>> grades
Subject S1 S2 S3 S4 S5 S6
0 math 18 <NA> 15 20 17 18
1 science 26 35 19 <NA> 33 <NA>
2 art 15 <NA> 9 17 18 14
3 music 14 20 12 20 13 18
4 history 18 19 <NA> 17 <NA> 18
5 sport 20 17 20 17 18 <NA>
6 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
يعرض جدول البيانات نتائج ستة طلاب في خمس مواد. في هذه الحالة، يشير الرمز إلى عدم إجراء الامتحان.
والآن، حاول استخدام الدالة ()dropna. للإجابة على كل سؤال من الأسئلة التالية:
- استخدم الدالة ()dropna. لحذف الصف الذي يحتوي على قيم فارغة فقط من إطار البيانات بشكل نهائي. استخدم هذه الصيغة من الآن فصاعدًا.
- اعرض صفوف الامتحانات التي أكملها جميع الطلاب.
- اعرض أي أعمدة لا تحتوي على بيانات مفقودة.
- اعرض الامتحانات التي خضع لها خمسة طلاب على الأقل.
- حدد من أكمل جميع الاختبارات التي خضع لها كل من S2 و S4.
خلال هذا الدرس التعليمي، تعلمت كيفية استخدام التابع ()dropna. الخاصة بـ DataFrame لإزالة القيم الفارغة من DataFrames الخاصة بك.
على الرغم من أن لديك الآن فهمًا راسخًا لـ ()dropna.، فلا يزال هناك الكثير لاستكشافه.
راجع ما تعلمته هنا لتحديد التقنيات الأنسب لاحتياجاتك في التعامل مع القيم المفقودة. قد ترغب أيضًا في تطبيق هذه المهارات على دوال ()dropna. الخاصة بكائنات Pandas Series وIndex. يُعدّ ذلك طريقة رائعة لمواصلة رحلتك التعليمية.
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.