pandas / الأساسي: التسميات والأنواع والمدخل المقبول / الدرس 1
Series وDataFrame والمحاور المسماة
تحديد ما يمثله كل صف وتمييز كائنات pandas المسماة من حاويات المواضع العادية.
في هذه الصفحة
أهداف الدرس
- شرح مسؤوليات Series وDataFrame والفهرس والأعمدة.
- تحديد وحدة الصف وهويته وشكله قبل حساب نتيجة.
البدء بمعنى الصف الواحد
قد يحتوي جدول مخزون اصطناعي صفاً لكل صنف، أو لكل صنف ومستودع، أو لكل حركة. هذه وحدات تحليل مختلفة رغم تشابه أسماء الأعمدة. يصح عد الصفوف أصنافاً فقط وفق قاعدة الهوية المناسبة. اكتب وحدة الصف والوحدات وفترة المصدر قبل التحميل. يساعد pandas في تمثيل الجداول وتحويلها، ولا يستنتج تفرد العمل من اسم item_id. قد يحدد الفهرس صفاً للاختيار مع سماحه بتكرار التسميات؛ لذا يبقى فحص التفرد صريحاً عند اعتماد التحليل على صف لكل كيان.
تحمل Series وDataFrame تسميات
تمثل Series بيانات أحادية البعد ذات dtype وفهرس. وتمثل DataFrame جدولاً مسمى ثنائي البعد قد تختلف أنواع أعمدته. تشارك تسميات الصفوف والأعمدة في الاختيار والمحاذاة، وليست عناوين جمالية فقط. تعرض shape أطوال المحاور، بينما تعد size الخلايا لا كيانات العمل. قد يعيد اختيار عمود Series، ويعيد اختيار قائمة أعمدة DataFrame. وضح فرق الأبعاد في عقود الدوال، كي لا تتلقى طريقة لاحقة قيمة منفردة أو نتيجة أحادية حين تتوقع جدولاً.
قراءة إطار صريح لصنفين
ينشئ برنامج pandas التوضيحي صفي مخزون وينقل item إلى فهرس الصف. يصبح الشكل المعلن صفين وعمود بيانات واحداً، ويعطي اختيار I2 وunits ثلاثة. تصف التأكيدات نتيجة متوقعة مشتقة من البيانات والدلالات الرسمية، لا اختبار pandas منفذاً. لا يفرض تعيين الفهرس التفرد تلقائياً إلا إذا طلبته العملية أو فحص صريح. احفظ مفتاح العمل عند التصدير أو إعادة الفهرس، لأن الفهرس الصحيح الافتراضي قد يتغير بعد التصفية أو الدمج أو الترتيب، ولا ينبغي أن يصبح هوية الكيان بصمت.
import pandas as pd
frame = pd.DataFrame({'item': ['I1', 'I2'], 'units': [2, 3]}).set_index('item')
assert frame.shape == (2, 1)
assert frame.loc['I2', 'units'] == 3
print(frame.loc['I2', 'units'])
3
الناتج المتوقع 3 وفق البيانات المعلنة؛ ولا تتوفر pandas ولم ينفذ البرنامج.
فحص عقد هوية مصدر صغير محلياً
يفحص مثال المكتبة القياسية قاموسين ويتحقق من الحقول ومن تفرد معرفات الأصناف. يثبت استيفاء المصدر المعطى هذا العقد الصغير قبل بناء pandas. لا يستبدل دلالات النوع أو المحاذاة أو الفهرس. قد يكون تكرار صنف صالحاً لوحدة حركة وغير صالح لوحدة صنف، فيجب أن يتبع الفحص التحليل المعلن لا قاعدة عامة لحذف المكرر. تحقق من الهوية الغائبة والحقول الزائدة عمداً. قد يجعل إسقاط صف الجدول نظيفاً ظاهرياً، مع تغيير الإجماليات وإخفاء مشكلة المصدر.
rows = [{'item': 'I1', 'units': 2}, {'item': 'I2', 'units': 3}]
assert all(set(row) == {'item', 'units'} for row in rows)
assert len({row['item'] for row in rows}) == len(rows)
print(len(rows))
2
للسجلين الحقول المتوقعة وهويتان فريدتان؛ ولا يختبر سلوك pandas.
تسجيل أساس المكتبة وحدود الأدلة
يختار المقرر وثائق pandas 3.1.0 الرسمية، بما فيها سلوك Copy-on-Write والنصوص الذي أدخل في 3.0، ولا يدعي الأحدث أو الدعم الحالي. لا تتوفر pandas في بيئة التأليف؛ لذلك تحمل برامجها runnable:false ونتائجها مستنتجة لا مرصودة. تنفذ نماذج المكتبة القياسية والمحللات المستقلة فقط في تخزين معزول. لا تستنتج منها توافق المحرك أو الذاكرة أو الأداء. ينبغي أن يشمل سجل قبول حقيقي إصدارات pandas وPython والخلفيات الاختيارية ومخطط المصدر وقاعدة العمل المختبرة.
الأخطاء الشائعة وإصلاحها
تقديم عدد الصفوف كعدد أصناف فريدة دون فحص وحدة الصف.
- لماذا يحدث؟
- اعتبار مصدر الحركات صفاً لكل صنف.
- كيف تصلحه؟
- حدد وحدة العمل واحسب الهوية الفريدة المطلوبة صراحة.
- كيف تتجنب تكراره؟
- احفظ توقعات وحدة الصف والتفرد مع عقد المصدر.
استخدام الفهرس الصحيح الافتراضي هوية صنف دائمة.
- لماذا يحدث؟
- الخلط بين تسهيل الموضع ومفتاح العمل.
- كيف تصلحه؟
- احفظ مفتاح صنف صريحاً وتحقق منه عبر التحويل والتصدير.
- كيف تتجنب تكراره؟
- اختبر حفظ الهوية بعد الترتيب والضم.
تلقي مساعد يتوقع جدولاً Series بصورة غير متوقعة.
- لماذا يحدث؟
- اعتبار اختيار العمود واختيار قائمة الأعمدة متماثلين.
- كيف تصلحه؟
- حدد عدد الأبعاد واستخدم صيغة الاختيار المناسبة.
- كيف تتجنب تكراره؟
- افحص الشكل وعقد النوع عند حدود الدوال.
اختبر فهمك
1. هل يمكن أن يكون صفان بمعرف صنف واحد بيانات مشروعة؟
اعرض الحل المشروح
نعم، إذا كانت الوحدة حركة أو ملاحظة صنف ومستودع لا صنفاً فقط. حدد حقول هوية السجل قبل الحذف. قد تمحو إزالة التكرار بلا عقد نشاطاً صالحاً وتغير الإجماليات؛ بينما يجب أن يرفض جدول الأصناف التكرار غير المتوقع أو يصالحه.
2. هل يثبت تأكيد قواميس المصدر امتلاك إطار pandas الأنواع المقصودة؟
اعرض الحل المشروح
لا؛ يفحص الحقول وهوية المصدر فقط. البناء واستنتاج الأنواع سلوك pandas مستقل يتأثر بالاختيارات الصريحة والإصدار. احتفظ بالفحص المحلي، واحصل على دليل محرك مستقل عندما يكون النوع أو توافق الخلفية موضوع المراجعة.
أهم ما تعلمته
- حدد وحدة الصف وهويته قبل التسميات والإجماليات.
- تحمل كائنات pandas عقود الأبعاد والتسميات والأنواع معاً.