عمود مؤشر إسقاط الباندا: موضح بأمثلة

عمود مؤشر إسقاط الباندا: موضح بأمثلة

Pandas هي مكتبة Python مستخدمة على نطاق واسع لمعالجة البيانات وتحليلها. إحدى الوظائف الأساسية التي يمكن أن توفرها لك حيوانات الباندا هي القدرة على تعديل بنية مجموعة البيانات. على وجه التحديد ، يعد إسقاط الفهارس في DataFrame عملية حاسمة عند العمل مع مجموعات البيانات. يسمح لك بإزالة الصفوف أو الأعمدة غير المرغوب فيها من البيانات.

لإسقاط فهرس مع الباندا ، يمكنك استخدام أساليب .drop () و .reset_index (). تسمح لك طريقة .drop () بإزالة صفوف أو أعمدة معينة. من ناحية أخرى ، تسمح لك طريقة .reset_index () بإزالة الفهرس وإعادة تعيينه إلى RangeIndex الافتراضي.

عمود مؤشر إسقاط الباندا: موضح بأمثلة

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

دعنا ندخله!

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

فهم مؤشر قطرة الباندا

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

عمود مؤشر إسقاط الباندا: موضح بأمثلة

في هذا القسم ، سنغطي أساسيات Pandas DataFrame والفهرس والأعمدة. سنلقي نظرة بعد ذلك على مثال لإسقاط فهرس باستخدام الباندا.

1. ما هو إطار بيانات الباندا؟

Pandas هي مكتبة Python مفتوحة المصدر توفر أدوات تحليل ومعالجة بيانات عالية الأداء. أحد هياكل البيانات الرئيسية الخاصة به هو DataFrame .

Pandas DataFrame عبارة عن بنية بيانات ثنائية الأبعاد مع محاور مسماة (صفوف وأعمدة). يمكنك التفكير في DataFrame كتمثيل كائن Pythonic لجدول SQL أو جدول بيانات Excel.

ما يلي هو إطار بيانات الباندا النموذجي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

2. ما هي الفهارس والأعمدة؟

في إطار بيانات الباندا ، يعمل الفهرس كـ "عنوان" لنقاط البيانات. يوفر وسيلة للوصول إلى البيانات وتنظيمها عبر DataFrame. يمكن أن يكون إما تسلسل الأعداد الصحيحة الافتراضية المعينة من قبل الباندا أو فهرس مخصص معرف من قبل المستخدم.

الأعمدة هي المتغيرات التي تستضيف أنواعًا مختلفة من البيانات في DataFrame. كل عمود هو في الأساس سلسلة من البيانات. يمكن أن تحتوي على أنواع بيانات متنوعة مثل الأعداد الصحيحة أو العوامات أو السلاسل. تحدد تسمية العمود ، التي يشار إليها عادةً باسم العمود ، سلسلة البيانات هذه.

في إطار بيانات الباندا ، غالبًا ما تتضمن معالجة البيانات العمل مع تسميات الصفوف (الفهارس) أو تسميات الأعمدة.

تتضمن بعض العمليات الشائعة التي يمكنك إجراؤها باستخدام DataFrame متعدد الفهارس تحديد الصفوف أو الأعمدة وإعادة تسميتها وإفلاتها بناءً على تسمياتها.

3. كيفية إسقاط عمود الفهرس مع الباندا

في الباندا ، يمكنك استخدام طريقة DataFrame reset_index () لإسقاط الفهرس وإعادة تعيينه.

لنفترض أن لدينا إطار البيانات التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

لإسقاط عمود الفهرس ، يمكننا استخدام الكود التالي:

df.reset_index(drop=True)

بعد تشغيل هذا الرمز ، ستحصل على المثال التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

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

يمكنك أيضًا استخدام طريقة الإسقاط في الباندا لإزالة الملصقات المحددة من الصفوف أو الأعمدة.

صيغة هذه الطريقة هي:

DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

فيما يلي المعلمات الرئيسية لطريقة الإسقاط :

  • الملصقات : الملصقات المراد إزالتها. يمكن أن تكون إما صفوفًا أو أعمدة بناءً على معلمة المحور .

  • المحور : يحدد ما إذا كان سيتم الإسقاط من الصفوف ( 0 أو "الفهرس" ) أو الأعمدة ( 1 أو "الأعمدة" ).

  • الفهرس : بديل لتحديد المحور = 0 . يسمح بالإشارة إلى تسميات الصفوف لإزالتها.

  • الأعمدة : بديل لتحديد المحور = 1 . يسمح بالإشارة إلى تسميات الأعمدة لإزالتها.

  • inplace : إذا تم الضبط على True ، فسيتم تنفيذ العملية في مكانها ، مما يعني أنه سيتم تعديل DataFrame الأصلي. إذا كان False (افتراضيًا) ، فسيتم إرجاع إطار DataFrame جديد مع إزالة التسميات المحددة.

  • الأخطاء : يتحكم في كيفية التعامل مع التسميات المفقودة. في حالة "زيادة" (افتراضي) ، سيظهر خطأ عندما لا يتم العثور على التسميات. إذا "فرض" ، سيتم تجاهل التسميات المفقودة بصمت.

لنفترض أن لدينا إطار البيانات التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

نود إسقاط الصف بالفهرس 1. للقيام بذلك باستخدام طريقة الإسقاط ، يمكنك كتابة الكود التالي ، بدءًا من استيراد الباندا:

import pandas as pd

# Drop row with index 1
df.drop(1, axis=0)

تخبر وسيطة المحور = 0 لوظيفة الإسقاط المترجم بأننا نقوم بعملية صف حكيم. الوسيطة الثانية 1 هي فهرس الصف. يخبر المترجم الفوري بإسقاط الصف بالفهرس 1.

بعد العملية المذكورة أعلاه ، نحصل على DataFrame التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

الآن ، لنفترض أننا نرغب في إسقاط العمود مع Age كرأس العمود من DataFrame الخاص بنا. لتحقيق ذلك يمكننا كتابة الكود التالي:

# Drop column 'Age'
df.drop('Age', axis=1)

يخبر محور الوسيطة = 1 المترجم بأننا نجري عملية عمودية. تخبر الوسيطة "العمر" المترجم الفوري بإسقاط العمود الذي يحمل الاسم "العمر".

بعد تشغيل الكود أعلاه ، ستحصل على DataFrame التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

كيفية إفلات صفوف وأعمدة متعددة

يوضح المثال أعلاه إسقاط صف أو عمود واحد. ماذا لو كنت ترغب في إسقاط عدة صفوف أو أعمدة؟

لتحقيق ذلك ، سنستخدم نفس الكود مع بعض التغييرات الطفيفة. بدلاً من استخدام قيمة واحدة ، يمكننا توفير قائمة من الوسائط لوظيفة الإسقاط لإزالة صفوف وأعمدة متعددة مرة واحدة.

لنفترض أنني أريد إسقاط أول صفين في DataFrame الخاص بنا. لتحقيق ذلك يمكننا استخدام الكود التالي:

# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)

في هذا الكود ، نطلب من المترجم أن يسقط الصفين 0 و 1. ناتج هذا الكود موضح أدناه:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

يمكنك أن ترى أن الصفين 0 و 1 لم يعودا في DataFrame.

لنقم أيضًا بإسقاط عمودي القسم والراتب. للقيام بذلك ، يمكننا استخدام الكود التالي:

# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)

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

عمود مؤشر إسقاط الباندا: موضح بأمثلة

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

لمعرفة المزيد حول MultiIndex في الباندا ، شاهد الفيديو التالي:

كيفية إفلات الصفوف والأعمدة باستخدام Inplace

في المثال السابق ، يمكنك أن ترى أننا نجري أولاً تغييرات على DataFrame ثم نحفظه كإطار DataFrame جديد. ومع ذلك ، فهذه ليست طريقة فعالة لإسقاط الصفوف والأعمدة.

بديل آخر لإسقاط الصفوف والأعمدة هو تعيين الوسيطة inplace لوظيفة الإسقاط على True .

من خلال تعيين المعامل inplace إلى True ، يمكنك تعديل DataFrame بشكل دائم دون الحاجة إلى إعادة تعيينه.

يكون هذا مفيدًا عند التعامل مع إطارات بيانات كبيرة ، حيث يمكنه توفير الذاكرة عن طريق تجنب إنشاء إطار بيانات جديد.

فيما يلي مثال لإسقاط الصفوف والأعمدة مع inplace :

# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)

# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)

ناتج الكود أعلاه معطى أدناه:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

هنا ، يمكنك أن ترى أننا لا ننشئ أي DataFrame جديد ولكن نجري تغييرات على الإطار الأصلي.

كيفية العمل مع الفهارس في الباندا

في هذا القسم ، سنناقش كيفية العمل مع الفهارس في pandas DataFrame. سنغطي القسمين الفرعيين التاليين:

  1. تعيين وإعادة تعيين الفهرس

  2. عمود المعرف والفهرس

1. كيفية تعيين وإعادة تعيين الفهرس

أحد الجوانب المهمة للعمل مع الباندا هو فهم كيفية تعيين وإعادة تعيين أعمدة الفهرس. الفهرس هو معرّف مفتاح لكل صف ، وهناك حالات قد ترغب فيها في تغييره.

إعداد فهرس جديد

لتعيين فهرس جديد ، يمكنك استخدام طريقة set_index () . فيما يلي بناء جملة set_index :

df.set_index('column_name', inplace=True)

الوسيطة inplace = True هنا تعني أننا نجري تغييرات على DataFrame الحالي.

لإثبات ذلك ، سنستخدم DataFrame التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

لنفترض أننا نرغب في جعل عمود الاسم فهرس DataFrame الخاص بنا. لتحقيق ذلك يمكننا استخدام الكود التالي:

df.set_index('Name', inplace=True)

سيجعل نص Python هذا Name هو فهرس DataFrame الخاص بنا. يتم إعطاء إخراج هذا الرمز أدناه:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

إعادة ضبط قيم الفهرس

لإعادة ضبط الفهرس إلى تنسيقه الافتراضي (على سبيل المثال ، RangeIndex من 0 إلى طول DataFrame ناقص 1) ، يمكنك استخدام طريقة reset_index () .

فيما يلي بناء جملة reset_index () :

df.reset_index(drop=True, inplace=True)

من خلال تعيين drop = True ، ستتم إزالة عمود الفهرس الحالي ، بينما يضمن inplace = True تطبيق التغييرات مباشرةً على DataFrame دون إنشاء عمود جديد.

عندما نطبق هذا الكود على DataFrame السابق ، نحصل على المخرجات التالية:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

يمكنك أن ترى أن الاسم ، الذي كان في السابق فهرسنا ، قد تمت إعادة تعيينه إلى القيم الافتراضية.

2. مزيد من العمليات مع عمود الفهرس

عندما تقوم باستيراد DataFrame من ملف CSV ، على سبيل المثال ، يمكنك استخدام المعلمة index_col لتحديد عمود لاستخدامه كفهرس.

فيما يلي صيغة index_col :

df = pd.read_csv('data.csv', index_col='column_name')

علاوة على ذلك ، إذا كنت تريد تصدير DataFrame بدون عمود الفهرس ، فيمكنك تعيين معلمة الفهرس على False.

فيما يلي بناء جملة هذه الطريقة:

df.to_csv('output.csv', index=False)

الآن بعد أن فهمت طريقة إسقاط الفهرس ، دعنا نلقي نظرة على كيفية التعامل مع الأخطاء عند استخدام وظيفة الإسقاط في القسم التالي.

كيفية التعامل مع الأخطاء عند استخدام وظيفة الإسقاط في الباندا

في هذا القسم ، سوف نستكشف كيفية التعامل مع الأخطاء والحالات الخاصة عند استخدام وظيفة إسقاط الباندا لإزالة أعمدة الفهرس من DataFrame.

على وجه التحديد ، سنناقش ما يلي:

  1. معالجة KeyError

  2. العمل مع الصفوف المكررة

1. كيفية التعامل مع KeyError

عند استخدام وظيفة الإسقاط في الباندا ، قد تواجه خطأ KeyError إذا لم يتم العثور على الفهرس أو العمود المحدد في DataFrame.

لمنع حدوث هذا الخطأ ، يمكنك استخدام معلمة الأخطاء . يوجد خياران لمعامل الأخطاء : "lift" و "ignore". بشكل افتراضي ، يتم تعيينه على "رفع" ، مما يعني أنه سيتم رفع خطأ KeyError إذا لم يتم العثور على الفهرس أو العمود المحدد.

ومع ذلك ، يمكنك ضبطه على "تجاهل" إذا كنت تريد منع الخطأ ومتابعة تنفيذ الكود.

لنفترض أن لدينا DataFrame التالي ، لنحاول إسقاط صف غير موجود في DataFrame ومعرفة ما سيحدث:

# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)

سيعطي سكربت Python الخطأ التالي:

للتعامل مع مثل هذه الأخطاء ، تأكد من أنك تشير إلى الصفوف الموجودة في مجموعة البيانات.

2. كيفية العمل مع الصفوف المكررة

عند تنظيف البيانات ، من المهم البحث عن التكرارات وإزالتها.

يمكن أن يؤدي التعامل مع الصفوف المكررة في DataFrame إلى إضافة تعقيد عند استخدام وظيفة الإسقاط .

إذا كنت تريد إسقاط الصفوف بناءً على قيم الفهرس المكررة ، فيمكنك استخدام الوظيفة المكررة ، ثم استخدام الفهرسة المنطقية لتحديد الصفوف غير المكررة فقط.

لنفترض أن لدينا إطار البيانات التالي:

عمود مؤشر إسقاط الباندا: موضح بأمثلة

يمكنك أن ترى أن لدينا فهارس مكررة في مجموعة البيانات الخاصة بنا. لإزالة التكرارات ، سنحدد أولاً القيم المكررة بالشفرة التالية:

# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')

بعد ذلك ، سنختار فقط الصفوف غير المكررة ونخزنها في DataFrame السابق بالشفرة التالية:

# Select only non-duplicated rows
df = df[~duplicated_rows]

الناتج النهائي معطى أدناه:

لم يعد الإخراج النهائي يحتوي على صفوف مكررة.

افكار اخيرة

بينما تستمر في رحلة علم البيانات والتحليلات الخاصة بك ، فإن فهم كيفية التعامل مع البيانات وإدارتها هو مهارة ستثبت أنها الأكثر أهمية.

إتقان العمليات مثل إسقاط الفهارس في الباندا هو جزء أساسي من هذا. تعد معرفة كيفية إعادة تعيين فهرس أو إفلاته بمثابة نقطة انطلاق نحو تنظيف وتحويل واستخلاص رؤى قيمة من بياناتك.

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

تمكنك القدرة على إسقاط الفهارس من الحصول على قدر أكبر من التحكم والمرونة في مجموعات البيانات الخاصة بك!


ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

ما هي الذات في بايثون: أمثلة من العالم الحقيقي

كيفية حفظ وتحميل ملف RDS في R.

كيفية حفظ وتحميل ملف RDS في R.

ستتعلم كيفية حفظ وتحميل الكائنات من ملف .rds في R. ستغطي هذه المدونة أيضًا كيفية استيراد الكائنات من R إلى LuckyTemplates.

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

تمت إعادة النظر في أول N أيام عمل - حل لغة ترميز DAX

في هذا البرنامج التعليمي للغة ترميز DAX ، تعرف على كيفية استخدام وظيفة الإنشاء وكيفية تغيير عنوان القياس ديناميكيًا.

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

اعرض الرؤى باستخدام تقنية المرئيات الديناميكية المتعددة الخيوط في LuckyTemplates

سيغطي هذا البرنامج التعليمي كيفية استخدام تقنية Multi Threaded Dynamic Visuals لإنشاء رؤى من تصورات البيانات الديناميكية في تقاريرك.

مقدمة لتصفية السياق في LuckyTemplates

مقدمة لتصفية السياق في LuckyTemplates

في هذه المقالة ، سأقوم بتشغيل سياق عامل التصفية. يعد سياق عامل التصفية أحد الموضوعات الرئيسية التي يجب على أي مستخدم LuckyTemplates التعرف عليها في البداية.

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أفضل النصائح في استخدام التطبيقات في خدمة LuckyTemplates عبر الإنترنت

أريد أن أوضح كيف يمكن لخدمة تطبيقات LuckyTemplates عبر الإنترنت أن تساعد في إدارة التقارير والرؤى المختلفة التي تم إنشاؤها من مصادر مختلفة.

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تحليل تغييرات هامش الربح بمرور الوقت - التحليلات باستخدام LuckyTemplates و DAX

تعرف على كيفية إجراء تغييرات في هامش الربح باستخدام تقنيات مثل قياس التفرع والجمع بين صيغ DAX في LuckyTemplates.

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

أفكار التجسيد لذاكرة التخزين المؤقت للبيانات في DAX Studio

سيناقش هذا البرنامج التعليمي أفكار تجسيد مخازن البيانات وكيفية تأثيرها على أداء DAX ​​في توفير النتائج.

إعداد تقارير الأعمال باستخدام LuckyTemplates

إعداد تقارير الأعمال باستخدام LuckyTemplates

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

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته

ما هي بوابة LuckyTemplates؟ كل شيئ ترغب بمعرفته