الباندا ريندكس

Albanda Ryndks



في 'الباندا' ، يمكننا تخزين الكثير من المعلومات في شكل جدول ، وهو ما يُعرف أيضًا باسم DataFrame. تسهلنا 'الباندا' باستخدام طريقة 'DataFrame ()' لإنشاء إطار البيانات. يحتوي DataFrame على فهارس ، ويمكننا أيضًا تغيير فهارس DataFrame باستخدام وظائف 'pandas'. الطريقة التي نستخدمها لإعادة فهرسة DataFrame هي طريقة 'reindex ()'. تساعد هذه الطريقة في تغيير قيم فهرس الصف وكذلك قيم فهرس الأعمدة. باستخدام هذه الطريقة ، يمكننا تغيير الفهرس الافتراضي لـ DataFrame ، وأيضًا ، يمكننا تغيير الفهرس الذي قمنا بتعيينه أثناء إنشاء DataFrame. سنستخدم طريقة 'reindex ()' في أمثلة 'الباندا' في هذا البرنامج التعليمي وسنشرح هذا المفهوم بالتفصيل هنا. '

المثال رقم 01

تساعدنا أداة 'Spyder' في تطوير كود 'pandas' هنا في هذا البرنامج التعليمي ، ونبدأ الكود الخاص بنا بالكلمة الرئيسية 'import' ، والتي ستساعد في استيراد وظيفة 'pandas'. نضع 'pandas as pd' بعد كتابة 'import'. بعد ذلك ، نقوم بإنشاء DataFrame بكتابة “pd.DataFrame ()”. نكتب هذا 'pd' هنا لأن 'DataFrame ()' هي طريقة 'الباندا'. 'value_df' هو اسم المتغير الذي يتم حفظ DataFrame فيه. نضيف 'RandomName' وهو اسم العمود ، ويحتوي 'RandomName' على 'Thomas و Oscar و Lilly و Rowan و John و Bromley و Peter و Alexander و Samuel'.







ثم لدينا 'Value_1' ، والتي أدخلنا فيها '16 و 29 و 24 و 35 و 44 و 50 و 69 و 74 و 88'. ثم يأتي 'Value_2' ، وقد أضفنا '25 و 38 و 42 و 56 و 54 و 65 و 78 و 89 و 99'. الآن ، تأتي 'Value_3' بعد ذلك ، ونضع '36 و 48 و 52 و 69 و 74 و 75 و 87 و 91 و 69' فيها. العمود 'Value_4' موجود بعد ذلك ، حيث قمنا بإدراج '52 ، 64 ، 72 ، 88 ، 82 ، 95 ، 97 ، 21 ، 39'. العمود الأخير هو عمود 'Value_5' هنا ، وفي هذا العمود ، القيم التي أضفناها هي '66 و 78 و 82 و 99 و 34 و 45 و 57 و 61 و 89'. بعد ذلك ، نستخدم وظيفة 'print ()' التي يتم فيها إضافة 'Values_df'. سوف تطبع على المحطة.




بعد الضغط على 'Shift + Enter' ، يمكننا بسهولة الحصول على نتيجة الرموز الخاصة بنا في تطبيق 'Spyder'. هنا ، يقوم هذا الرمز بإرجاع DataFrame بالفهرس الافتراضي. الآن ، سنطبق طريقة 'reindex ()' لإعادة فهرسة إطار البيانات هذا في 'الباندا'.




تُستخدم وظيفة 'reindex ()' هنا لإعادة فهرسة قيمة فهرس الصف. في DataFrame أعلاه ، يمكنك أن ترى أن قيم الفهرس الافتراضية للصف معروضة ، ونحن الآن نطبق طريقة 'reindex ()' لإعادة فهرسة فهارس الصفوف هذه. نضع اسم DataFrame ثم طريقة 'reindex ()' التي نضع فيها قيم الفهرس التي نريد إضافتها إلى DataFrame أعلاه. نضع 'ind_A و ind_B و ind_C و ind_D و ind_E و ind_F و ind_G و ind_H و ind_I' في وظيفة 'reindex ()'. لذلك ، سيتم تحديث فهارس هذه الصفوف على DataFrame عند تنفيذ هذا الرمز.






يتم عرض قيم فهرس الصف في هذه النتيجة ، ويمكنك ملاحظة أن قيم DataFrame ليست معروضة هنا ، وظهرت قيم 'NaN'. وذلك لأن قيم الفهرس الجديدة لا تتطابق مع قيم الفهرس السابقة لـ DataFrame. عندما لا يتطابق الفهرس الجديد والفهرس القديم ، فإنه يعرض 'نان' هناك. تظهر قيم 'NaN' هذه بشكل افتراضي عندما نغير الفهرس ، ولا تتطابق مع الفهرس السابق.



المثال رقم 02

نحن الآن بصدد تغيير قيم فهرس العمود لـ 'Value_df' ، التي أنشأناها سابقًا في المثال 1. بعد طباعة 'Value_df' ، نضع متغير 'العمود' وأضفنا بعض القيم إليه. نضيف 'a_1 و b_1 و c_1 و d_1 و e_1'. الآن ، نريد تعديل هذه القيم كفهرس للأعمدة ، لذلك ، لهذا ، نستخدم طريقة 'reindex ()' ونضع اسم المتغير 'العمود' حيث يتم تخزين قيم فهرس العمود الجديد و قم أيضًا بتعيين 'المحور' على 'الأعمدة' ، لذلك سيتم تحديث فهرس محور العمود. نضع طريقة 'reindex ()' في 'print ()' ، لذلك سيتم عرضها أيضًا على المحطة.


نظرًا لأننا استخدمنا طريقة 'reindex ()' ، يتم تحديث قيم فهرس العمود الموجودة في أول DataFrame ، وتتم إضافة قيم جديدة في DataFrame المحدث. يمكنك أيضًا ملاحظة أن جميع قيم DataFrame يتم تحويلها إلى 'NaN' نظرًا لاختلاف قيم الفهرس الخاصة بالأعمدة.

المثال رقم 03

تحتوي 'Programming_data' في هذا الكود على 'P_Languages' ، حيث أضفنا 'JavaScript و CSS وهندسة الويب و OOP و C # و AI و Java و JavaScript'. ثم لدينا 'ساعات' نضع فيها '4_hrs ، 2_hrs ، 3_hrs ، 7_hrs ، 6_hrs ، 5_hrs ، 8_hrs ، 6_hrs'. بعد ذلك ، يتم إدخال 'P_Code' ، ونقوم بإدخال '11523 ، 12423 ، 12321 ، 11456 ، 11454 ، 12267 ، 13106 ، و 14123'. نضيف المتغير 'p_index' ونضع 'Pro_A و Pro_B و Pro_C و Pro_D و Pro_E و Pro_F و Pro_G و Pro_H'.

سيتم استخدام هذه القيم كقيم فهرس للصفوف. نقوم بتغيير 'Programming_data' في 'Programming_df' DataFrame. نضيف أيضًا 'p_index' إلى DataFrame هذا باستخدام طريقة 'index'. نضع 'Programming_df' ثم طريقة 'الفهرس' ونخصص 'p_index' لذلك. الآن ، تتم إضافة قيم الفهرس أعلاه كقيم فهرس الصفوف إلى DataFrame. نطبع 'Programming_df' أيضًا.

بعد ذلك ، نضيف بعض قيم الفهرس الجديدة في المتغير 'new_index' وهي 'P_1 و P_2 و P_3 و P_4 و P_5 و P_6 و P_7 و P_8'. نظرًا لأننا نريد تحديث قيم فهرس الصفوف ، فإننا نستخدم طريقة 'reindex ()' ونضع 'new_index' كمعامل لهذه الوظيفة ونخزن أيضًا DataFrame المحدث في 'newProgramming_df' ونضع 'newProgramming_df' في ' print () 'للعرض.


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

مثال # 04

نقوم حاليًا بتعديل قيم فهرس 'Programming_df’s' للأعمدة ، والتي طورناها سابقًا في المثال 3. نضع متغير 'العمود' ونضيف قيمًا جديدة فيه. تمت إضافة 'P_Code و P_Languages ​​والساعات والجديدة' إلى متغير 'العمود'. بعد ذلك ، نستخدم مرة أخرى طريقة 'reindex ()' التي قمنا فيها بتعيين متغير 'العمود' ، والذي سيقوم بتحديث قيم فهرس العمود السابق وإضافة قيم فهرس العمود الجديدة هذه إلى DataFrame.

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


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

استنتاج

لقد قدمنا ​​هذا البرنامج التعليمي الذي يساعدنا في فهم فكرة 'إعادة فهرسة الباندا' بالتفصيل. لقد ناقشنا كيف يمكننا إعادة فهرسة عمود DataFrame بالإضافة إلى قيم فهرس الصف. لقد أوضحنا أنه يتم استخدام وظيفة 'reindex ()' الخاصة بـ 'الباندا' للقيام بذلك. لقد قمنا بأمثلة مختلفة قمنا فيها بتغيير قيم الفهرس لصفوف DataFrame وكذلك قيم الفهرس لفهرس عمود DataFrame. لقد قدمنا ​​نتائج جميع الرموز التي قمنا بها هنا في هذا البرنامج التعليمي وشرحناها أيضًا بشكل متعمق.