البرمجة

فهم خاصية Reindex في مكتبة Pandas بلغة Python

عند النظر إلى الشيفرة التي قدمتها، يظهر أنك تقوم بإنشاء سلسلة بيانات باستخدام Pandas، وتقوم بتحديد فهرس (index) خاص بها باستخدام قيم ‘a’، ‘b’، ‘c’. ثم، عند استخدام دالة reindex لتغيير الفهرس، يتم تحديد فهرس جديد باستخدام القيم ‘f’، ‘g’، ‘z’. وهنا يكمن السبب في فقدان القيم.

عند استخدام reindex، يقوم البرنامج بإعادة ترتيب الفهرس ويضع NaN (Not a Number) للقيم التي لا توجد في الفهرس الأصلي. في هذه الحالة، القيم ‘f’، ‘g’، ‘z’ لم تكن موجودة في الفهرس الأصلي، لذا تم إعادة ترتيب السلسلة مع قيم NaN لهذه القيم.

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

python
import pandas as pd test3 = pd.Series([1, 2, 3], index=['a', 'b', 'c']) new_index = ['f', 'g', 'z'] # إنشاء سلسلة جديدة باستخدام القيم المطلوبة result_series = pd.Series(test3.values, index=new_index) print(result_series)

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

go
f 1 g 2 z 3 dtype: int64

تم تكوين السلسلة الناتجة بناءً على القيم المراد استخدامها مع الفهرس الجديد.

المزيد من المعلومات

لفهم أفضل حول هذا السيناريو، يمكننا التعمق أكثر في مفهوم reindex وكيف يؤثر ذلك على البيانات في Pandas.

في Pandas، يستخدم reindex لإعادة ترتيب الفهرس (index) لكائن البيانات، سواء كانت DataFrame أو Series. يأتي هذا في الوقت الذي يسمح لك فيه بتحديد فهرس جديد وإعادة ترتيب البيانات بناءً على هذا الفهرس الجديد.

عند استخدام reindex مع Series، يتم إعادة ترتيب الفهرس وإدراج NaN لأي قيم تكون غير موجودة في الفهرس الأصلي. في الشيفرة التي قدمتها، عندما قمت بتحديد فهرس جديد ([‘f’, ‘g’, ‘z’])، لم تكن القيم ‘f’، ‘g’، ‘z’ موجودة في الفهرس الأصلي، لذا تم إدراج NaN بجانب تلك القيم.

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

إذا كان لديك أي استفسارات إضافية أو إذا كنت تحتاج إلى معلومات إضافية حول أي جانب آخر من Pandas أو البرمجة بلغة Python، فأنا هنا للمساعدة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر