أتموتك التقنية

مدونة وموقع أتموتك التقنية - لجميع أخبار عالم التقنية والرقمة أول بأول

recent

آخر الأخبار

recent
random
جاري التحميل ...

أساسيات مكتبة Pandas باستخدام Python

مكتبة Pandas اسمها مشتق من مصطلح "لوحة البيانات" و هو مصطلح اقتصادي قياسي لمجموعات البيانات المهيكلة متعددة الأبعاد. قامت المكتبة بتغيير القواعد في ما يتعلق بتحليل البيانات فهي من أفضل الأدوات المستخدمة في نطاق واسع في مجال هيكلة البيانات و معالجة الجداول العددية و السلاسل الرقمية إذا لم تكن الأكثر استخداماً على الإطلاق. تعتبر Pandas مصدر مفتوح و مجاني الاستخدام ( بموجب ترخيص BSD ) و كتيت بواسطة Wes McKinney رابط المكتبة على ال GitHub هنا
الرائع في المكتبة قدرتها على التعامل مع البيانات بأشكالها المختلفة مثل ملفات ( CSV و TSV و قواعد البيانات SQL ) و انشاء كائن باستخدام Python مع صفوف و أعمدة تسمى إطار البيانات و التي تشبه إلى حد بعيد الجداول المستخدمة في البرامج الإحصائية مثل ( الاكسيل ، SPSS ) على سبيل المثال.
أساسيات مكتبة Pandas باستخدام Python

تثبيت مكتبة  Pandas و بدء استخدامها:

 مكتبة  Pandas
للحصول على المكتبة و استخدامها فانه يجب عليك تثبيتها و ستحتاج إلى أن تكون نسخة Python 2.7 أو أحدث مثبتة على جهاز الحاسب الالي الخاص بك كشرط من الشروط الأساسية تثبيت المكتبة.
أسهل طريقة لتثبيت المكتبة هي تثبيتها باستخدام توزيعات Anaconda و التي تعتبر منصة موزعة ( Cross Platform ) لتحليل البيانات و الحوسبة العلمية و يمكنك تثبيت المكتبة على ويندوز و لينكس و الماك لتثبيت يمكنك مراجعة إرشادات التثبيت من هنا 
من أجل استخدام المكتبة يجب توفر بيئة التطوير المتكاملة لبايثون "Python IDE" مثل Jupyter Notebook أو Spider كلاهما يأتون مع Anaconda  بشكل افتراضي. الخطوة الأولى يتم استيراد المكتبة و تحميلها في الذاكرة و ثم يتم العمل بها و للقيام بهذه الخطوة نستخدم الكود التالي:-
import pandas as pd
في العادة نقوم بوضع الجزء التالي ("pd") بحيث يمكن الوصول للمكتبة باستخدام "pd.command" في كل مرة نحتاج فيها استخدامها. بعد الانتهاء من هذه الخطوة أصبحت المكتبة جاهزة للاستخدام. لا تنسى بأنك بحاجة لاستيراد المكتبة في كل مرة تبدء بها ملف جديد في برنامج Jupyter Notebook أو Spyder. 

العمل مع مكتبة Pandas :-

العمل مع مكتبة Pandas

1- تحميل وحفظ البيانات باستخدام Pandas:

عندما تريد استخدام المكتبة لتحليل البيانات فانك ستستخدمها بإحدى الطرق التالية 
  • تحويل قائمة Python أو القاموس أو المصفوفة إلى اطار بيانات Pandas.
  • فتح ملف محلي باستخدام Pandas عادة ما تكون صيغة الملف CSV و لكن يمكن أن يكون ملف نصي text محدد مثل TSV أو الإكسيل.
  • فتح ملف بعيد أو قاعدة بيانات مثل CSV أو JSONon من خلال عنوان رابط URL و القراءة من ملف قاعدة البيانات أو جدول SQL.
هناك أوامر مختلفة لكل خيار من الخيارات السابقة و لكن لفتح الملف نستخدم الكود التالي:- 
pd.read_filetype()
كما ذكرنا سابقاً هناك أنواع مختلة من الملفات التي يمكنك استخدامه مع المكتبة لذلك يمكنك استبدال "filetype" بأي نوع من البيانات مثل "CSV" مثلاً. يجب عليك اختيار مسار و اسم الملف و غيرها داخل القوس و يمكنك داخل القوس تمرير الشروط أو الحجج "arguments" التي تتعلق بكيفية فتح الملف. هناك العديد من الحجج "arguments" و على سبيل المثال
 pd.read_csv()
و لمعرفة المزيد يجب قراءة الدليل الخاص بالمكتبة من هنا.
لتحويل كائن بايثون معين (قاموس، قائمة، الخ) يتم استخدام هذا الكود:-
pd.DataFrame()
داخل الأقواس يمكنك تحديد الكائنات التي ستقوم بإنشاء إطارات البيانات منه، 
يحتوي هذا الأمر على وسائط مختلفة تمكنك من حفظ إطار بيانات بحيث يعمل معه على أنواع مختلفة من الملفات مثل جداول ( CSV و اكسيل و  JSON و SQL ) و الكود المستخدم لذلك هو:-
df.to_filetype(filename)

2- عرض وفحص البيانات:-

و الآن بعد أن قمنا بتحميل البيانات حان الوقت لنلقي نظرة على شكل إطار البيانات، يؤدي تشغيل اسم إطار البيانات إلى اعطاؤك الجدول بالكامل و لكن يمكنك:-
  • df.head(n)  الحصول على أول صف
  • df.tail(n)  الحصول على الصف الأخير
  •  df.shape  سيعطيك عدد الصفوف والأعمدة باستخدام
  • ( )df.info  لعرض نوع بيانات الفهرس و معلومات و نوع البيانات و الذاكرة
  • سيسمح لك الأمر s.value_counts(dropna=False) بعرض قيم و تعددات مختلفة فريدة لسلسلة ( مثل عمود أو بضعة أعمدة ) 
  • أكثر أمر مفيد للغاية هو ( )df.describe و الذي يقوم بإدخال احصائيات موجزة للأعمدة الرقمية
 أو من الممكن أيضاً الحصول على احصائيات حول إطار البيانات بأكمله سلسلة، عمود ...الخ:-

  • df.mean   يحسب المتوسط الحسابي لكافة الأعمدة 
  • ( ) df.corr   يحسب العلاقة بين الأعمدة و إطار البيانات
  • ( )df.count   يحسب عدد القيم غير الفارغة في كل عمود من أعمدة البيانات 
  • ( )df.max   يحسب أعلى قيمة في كل عمود
  • ( )df.min   يحسب أقل قيمة في كل عمود
  • ( )df.median   يحسب المتوسط الحسابي لكل عمود
  • ( )df.std   يحسب الانحراف المعياري لكل عمود

3- اختيار البيانات:- 


أسهل شيء في مكتبة Pandas هو اختيار البيانات التي تريد مقارنتها بتحديد قيمة من قائمة أو فهرس، يمكنك الاختيار كالتالي:-

  • df[col]  لاختيار أحد الأعمدة و ارجاع العمود مع تصنيف العلاقة كسلسلة أو عدد قليل من الأعمدة 
  • df[[col1,col2]   إرجاع الأعمدة على هيئة إطار بيانات جديد
  • [0]s.iloc  الاختيار من خلال الموضع أو الموقع
  • s.loc['index_one']   الاختيار من خلال الفهرس 
  • [:,0]df.iloc  لتحديد الصف الأول 
  • [0,0]df.iloc   لتحديد العنصر الأول من العمود الأول 

4- التصفية و الفرز و التجميع: 


يمكنك استخدام عدة شروط تصفية الأعمدة على سبيل المثال df[df[year] > 1984]  حيث ستطيع فقط جميع الأعمدة الأكبر من عام 1984. يمكنك استخدام & (و) و I ( أو ) لإضافة شروط مختلفة للتصفية الخاصة بك و تسمى أيضاً التصفية المنطقية. من الممكن فرز القيم في عمود معين بترتيب تصاعدي باستخدام الكود df.sort_values(col1)  و بشكل تنازلي باستخدام الكود df.sort_values(col2,ascending=False)  و يمكنك فرز البيانات في العمود الأول بشكل تصاعدي و العمود الثاني بشكل تنازلي باستخدام هذا الكود:- df.sort_values([col1,col2],ascending=[True,False])

الأمر الأخير في هذا القسم التجميع: و يتم خلاله تقسيم البيانات إلى مجموعات على أساس بعض المعايير و تطبيق وظيفة لكل مجموعة بشكل مستقل و الجمع بين النتائج في بنية البيانات

  • df.groupby(col)  ارجاع كائن مجموعة للقيم من عمود واحد

  • df.groupby([col1,col2])  يقوم بإرجاع تجميع للقيم من أعمدة متعددة

5- تنظيف البيانات:

تعتبر خطوة تنظيف البيانات خطوة مهمة في تحليل البيانات على سبيل المثال: نحن نتحقق دائماً من القيم المفقودة في البيانات عن طريق استخدام ( )pd.null  الذي سيقوم بالتحقق من القيم الخالية ويعيد صفها منطقياً ( صح بالنسبة للقيم المفقودة و خطأ للقيم الغير مفقودة ).

و هو عكس ()pd.isnull بعد الحصول على قائمة من القيم المفقودة يمكنك التخلص منها أو اسقاطها باستخدام ()df.dropna

لإسقاط الصفوف أو df.dropna(axis=1) لإسقاط الأعمدة. هناك طرقة مختلفة بملء القيم المفقودة بقيم أخرى باستخدام x ( يمكنك وضع كل ما تريد ) أو s.fillna(s.mean()) ليجل مجل جميع القيم الخالية بالوسيط ( يمكن استبدال الوسيط بأي دالة تقريباً منقسم الإحصائيات ) من الضروري في بعض الأحيان استبدال القيم بقيم مختلفة على سبيل المثال s.replace(1,'one') سيغير الرقم "1" الى "one" و من الممكن القيام بذلك في قيم متعددة .replace([1,3],['one','three']) و هنا سيتغيرالرقم "1" الى "one" و "3" الى "three" و يمكنك أيضاً إعادة تسمية أعمدة معينة عن طريق استخدام 

df.rename(columns={'old_name': 'new_ name'}) أو استخدام df.set_index('column_one') لتغيير فهرس اطار البيانات

6- ضم / تجميع البيانات:


تعتبر المجموعة الأخيرة من أوامر مكتبة Pandas الأساسية و تقوم على ضم أو تجميع إطارات البيانات أو الصفوف / الأعمدة الأوامر الثلاثة المستخدمة هي:-


  • df1.append(df2)  إضافة الصفوف في "df1" إلى نهاية "df2" ( يجب أن تكون الأعمدة متطابقة )
  • df.concat([df1, df2],axis=1)  إضافة الأعمدة "df1" إلى نهاية "df2" ( يجب أن تكون الصفوف متطابقة )
  • df1.join(df2,on=col1,how='inner') ضم أعمدة SQL للأعمدة "df1" مع الأعمدة "df2" حيث الصفوف الخاصة بقيم متطابقة.

هذه المقالة للأساسيات الخاصة بمكتبة ال pandas تابعوا مقالاتنا القادمة في المجال التقني...

عن الكاتب

atmotech

التعليقات


جميع الحقوق محفوظة

أتموتك التقنية