مقدمة
في هذا الدرس سنتناول عدة مفاهيم وعمليات خاصة في التعامل مع البيانات المخزنة في أُطر البيانات Data Frames باستخدام مكتبة بانداز Pandas حيث سنطبق عمليًا على مجموعة رائعة من البيانات dataset تتضمن معلومات عن مجوهرات ماسية تتمثل بالسعر، اللون، الأبعاد ،و غيرها من السمات الأخرى.
يمكن تحميل مجموعة البيانات و الأكواد المستخدمة في هذا الدرس من خلال الرابط التالي : للتحميل📂
1. تحويلات على أطر البيانات | DataFrame Transformations
1.1 فحص إطار البيانات | Inspecting DataFrame
في بادئ الأمر سنقوم بسحب البيانات من ملف csv وتخزينها على هيئة إطار بيانات لاستخدام العمليات الخاصة بمكتبة pandas.


نلاحظ من خلال المعلومات التي تظهر أعلاه أن إطار البيانات مكون من 1002 صف (ملاحظة observations) و 10 أعمدة (سمات attributes) تختلف أنواع هذه السمات من أعداد صحيحة integers قيم عائمة floats ، وقيم نصية objects.
1.2 الشرح الوصفي والاحصائي للبيانات | statistical and descriptive explanation of data
- carat: وزن الماسة بالقيراط (الجرام الواحد = 5 قراريط)
- cut: جودة القطع (مقبولة، جيدة ، جيدة جدًا ، ممتازة ، مثالية) | (Fair, Good, Very Good, Premium, Ideal)
- color: لون الماس ، من J (الأسوأ) إلى D (الأفضل)
- clarity: الوضوح قياس مدى وضوح الماس [I1 (الأسوأ) ، SI2 ، SI1 ، VS2 ، VS1 ، VVS2 ، VVS1 ، IF (الأفضل)]
- depth: النسبة المئوية للعمق الكلي = z / mean(x, y) = 2 * z / (x + y)
- table: عرض المنضدة العليا للماسة بالنسبة إلى أوسع نقطة
- price: السعر بالدولار الأمريكي.
- x: الطول بالملليمتر
- y: العرض بالملليمتر
- z: العمق بالملليمتر


سنستخدم الـطريقة (method) .describe
لعرض المعلومات الاحصائية للبيانات :

الجدول أعلاه يبين القيم الاحصائية للسمات الرقمية فقط مثل المتوسط الحسابي، الانحراف المعياري ، أقل وأعلى قيمة في السمة وغيرها، بإمكانك الإطلاع على الجدول على سبيل المثال لاستخراج متوسط سعر الألماس : وهو 3830$.
1.3 أجزاء إطار البيانات | DataFrame Parts
- استخراج القيم Values Extraction:

- استخراج أسماء السمات ونطاق الفهرسة Attributes & indexing range :

1.4 ترتيب الصفوف | Rows Sorting
في هذا القسم سنرتب الصفوف وفقًا لسمة محددة على سبيل المثال السعر ، حيث أن ترتيب هذه القيم سيكون إما تصاعديًا أو تنازليًأ وفق الحاجة.
- الترتيب التصاعدي :

نلاحظ أن أقل سعر ماسة لدينا هو 357$ ثم تبدأ الأسعار بالارتفاع بشكل تدريجي
- الترتيب التنازلي :

نلاحظ أن أغلى ماسة في مجموعة البيانات بسعر 18692$ ثم تبدأ الأسعار بالنزول بشكل تدريجي.
- الترتيب حسب أكثر من سمة :
سنرتب الصفوف وفقًأ للسعر بشكل تنازلي (من الأغلى إلى الأرخص) وكذلك نوعية القطع بشكل تصاعدي (حسب ترتيب الأبجدية)

1.5 التجزئة من خلال الأعمدة | Subsetting by columns
يمكن تجزئة إطار البيانات من خلال عمود أو أكثر كما هو مبين أدناه :

1.6 التجزئة من خلال الصفوف | Subsetting by rows
- تجزئة الصفوف من خلال الفئات (قيم نصية text values) :
الآن سنقوم بترشيح (فلترة) إطار البيانات ليتضمن الصفوف التي تحتوي على ألماسات ذات لون D فقط و الذي يعد اللون الأفضل.
نلاحظ أنه يوجد 109 من الصفوف وجميعها تحتوي على اللون D

الآن سنقوم بالتجزئة من خلال ترشيح الصفوف من خلال عدة قيم نصية

- تجزئة الصفوف من خلال العمليات المنطقية
الآن سنرشح إطار البيانات من خلال إجراء عمليات منطقية على الصفوف كـــ أكبر من ، أصغر من أو يساوي والخاصة بالسمات الرقمية فعلى سبيل المثال بالإمكان ترشيح البيانات على الماسات التي تتكون من نسبة المئوية للعمق الكلي أعلى من 65.

1.7 إضافة أعمدة (سمات) جديدة لإطار البيانات | Adding new columns to DataFrame
الآن سنتخيل أننا نريد تفصيل صندوق خشبي لكل ماسة من الماسات عن طريق حساب الحجم Volume لكل ماسة من خلال أبعاد الطول ، العرض و العمق و إضافتها إلى

آمل أن يكون هذا الدرس قد نال إعجابكم . لا تترددوا في طرح أسئلتكم في قسم التعليقات أدناه وانتظرونا في الأجزاء القادمة.
درس رائع جدا ومفيد وواضح جدا . يعطيك العافية
شكرًا فهد يسرنا سماع ذلك.
راائع جدا , شكراً للتبسيط وللوضوح..
شكرًا عبدالله يسرنا سماع ذلك.