Pandas

مقدمة شاملة لمكتبة Pandas في بايثون

مقدمة

Pandas هي مكتبة مفتوحة المصدر تُستخدم على نطاق واسع في لغة البرمجة بايثون لتحليل البيانات. توفر أدوات قوية وسهلة الاستخدام للعمل مع البيانات المهيكلة وغير المهيكلة. تم بناء مكتبة Pandas على مكتبة NumPy، مما يسمح بالتعامل مع البيانات في شكل جداول (DataFrames) وتقديم مجموعة واسعة من العمليات لتصفية وفرز ومعالجة البيانات بطريقة فعالة.

Pandas

تستخدم Pandas على نطاق واسع في مجالات متعددة مثل تحليل البيانات، التعلم الآلي، الإحصاءات، والتمويل، مما يجعلها جزءًا لا غنى عنه لأي محلل بيانات أو مبرمج يعتمد على بايثون.

محتويات المقال

  1. ما هي Pandas؟
  2. أهم مكونات مكتبة Pandas
  3. كيفية العمل مع DataFrames
  4. عمليات رئيسية في Pandas
  5. التعامل مع التواريخ والزمن في Pandas
  6. الجداول المحورية (Pivot Tables) في Pandas
  7. التعامل مع البيانات الكبيرة في Pandas
  8. الحفظ إلى ملفات
  9. الأسئلة الشائعة

1. ما هي Pandas؟

Pandas هي مكتبة تحليل بيانات مفتوحة المصدر مبنية على لغة Python، تم تطويرها لتوفير أدوات قوية وسهلة للتعامل مع البيانات الجدولية. يمكن من خلالها استيراد البيانات من ملفات CSV، Excel، JSON، وغيرها من المصادر، ثم إجراء عمليات متنوعة عليها مثل الفرز، التجميع، وتنظيف البيانات.

لماذا تُستخدم Pandas؟

تُستخدم Pandas لأنها تُسهل عمليات التعامل مع البيانات، مما يسمح للمستخدمين بالتركيز على التحليل بدلاً من كتابة كود معقد للتعامل مع الجداول. تُعتبر واحدة من الأدوات الأكثر استخدامًا في تحليل البيانات بفضل واجهتها البسيطة ومرونتها العالية.

2. أهم مكونات مكتبة Pandas

1. DataFrame

DataFrame هو أحد المكونات الأساسية في مكتبة Pandas. يمثل جدولًا ثنائي الأبعاد يحتوي على صفوف وأعمدة يمكن الوصول إليها بسهولة من خلال أسماء الأعمدة أو أرقام الصفوف. يُعد DataFrame أكثر استخدامًا نظرًا لمرونته وقدرته على التعامل مع أنواع بيانات متعددة.

2. Series

Series هو عبارة عن قائمة أحادية البعد يمكن اعتبارها عمودًا مفردًا في DataFrame. تحتوي كل Series على قيمة ومؤشر، مما يجعل من السهل التعامل مع البيانات في سياقها.

3. كيفية العمل مع DataFrames

إنشاء DataFrame

يمكن إنشاء DataFrame باستخدام القوائم، القواميس، أو ملفات البيانات مثل CSV وExcel. على سبيل المثال:

import pandas as pd

# إنشاء DataFrame باستخدام قاموس
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'San Francisco', 'Los Angeles']
}

df = pd.DataFrame(data)
print(df)
Python

قراءة البيانات من ملفات CSV

واحدة من الميزات القوية في Pandas هي قدرتها على قراءة البيانات من ملفات CSV بسهولة:

# قراءة ملف CSV
df = pd.read_csv('data.csv')
print(df.head())
Python

الوصول إلى البيانات داخل DataFrame

يمكن الوصول إلى البيانات في DataFrame باستخدام أسماء الأعمدة أو مؤشرات الصفوف:

  • للوصول إلى عمود معين:
df['Name']
Python
  • للوصول إلى صف معين:
df.loc[0] # الوصول باستخدام الاسم df.iloc[0] # الوصول باستخدام الفهرس
Python

4. العمليات الرئيسية في Pandas

1. الفرز والتصفية

يمكن استخدام Pandas لتصفية البيانات بناءً على شروط معينة. على سبيل المثال:

# تصفية البيانات حيث يكون العمر أكبر من 30
filtered_data = df[df['Age'] > 30]
Python
2. التجميع (Grouping)

Pandas تتيح تجميع البيانات بناءً على قيمة معينة، واستخدام الدوال الإحصائية مثل mean أو sum:

# تجميع البيانات حسب المدينة وحساب متوسط العمر
grouped_data = df.groupby('City')['Age'].mean()
Python
3. تنظيف البيانات

يمكن لمكتبة Pandas التعامل مع البيانات الناقصة أو غير الكاملة. على سبيل المثال:

# إزالة الصفوف التي تحتوي على قيم مفقودة
df_cleaned = df.dropna()

# ملء القيم المفقودة
df_filled = df.fillna(0)
Python

5. التعامل مع التواريخ والزمن في Pandas

1. التعامل مع التواريخ (Datetime Handling)

واحدة من الميزات القوية في مكتبة Pandas هي التعامل السلس مع البيانات الزمنية مثل التواريخ والأوقات. تُستخدم الوظائف المتعلقة بالتواريخ في معالجة البيانات التي تحتوي على أوقات أو تواريخ، مثل البيانات المالية أو بيانات التحليلات الزمنية.

تحويل عمود إلى نوع تاريخي

لتحويل عمود يحتوي على تواريخ من نوع string إلى نوع تاريخي، يمكن استخدام دالة pd.to_datetime():

# تحويل عمود 'Date' إلى نوع تاريخي
df['Date'] = pd.to_datetime(df['Date'])
Python

استخراج أجزاء من التاريخ

بعد تحويل العمود إلى نوع تاريخي، يمكن استخراج أجزاء من التاريخ مثل السنة أو الشهر:

# استخراج السنة
df['Year'] = df['Date'].dt.year

# استخراج الشهر
df['Month'] = df['Date'].dt.month
Python

التعامل مع الفترات الزمنية (Time Delta)

يمكن أيضًا حساب الفرق بين تواريخ معينة باستخدام Pandas:

# حساب الفرق بين تاريخين
df['Days_Difference'] = df['End_Date'] - df['Start_Date']
Python
2. تجميع البيانات الزمنية (Resampling)

في تحليل البيانات الزمنية، غالبًا ما نحتاج إلى إعادة تجميع البيانات على أساس يومي، أسبوعي، أو شهري. Pandas توفر دالة resample() لتسهيل ذلك:

# تجميع البيانات بشكل أسبوعي وحساب المتوسط
df_weekly = df.resample('W', on='Date').mean()
Python

6. الجداول المحورية (Pivot Tables) في Pandas

1. إنشاء جدول محوري

الجداول المحورية (Pivot Tables) هي أداة مهمة لتحليل البيانات حيث تسمح بتجميع البيانات وتلخيصها بطريقة مرنة وسهلة الفهم. يمكن إنشاء الجداول المحورية في Pandas باستخدام دالة pivot_table():

# إنشاء جدول محوري لحساب متوسط العمر حسب المدينة والجنس
pivot_df = pd.pivot_table(df, values='Age', index=['City'], columns=['Gender'], aggfunc='mean')
Python
2. استخدام الدوال الإحصائية مع الجداول المحورية

يمكن تخصيص الجداول المحورية لتطبيق دوال إحصائية مثل المتوسط، المجموع، أو العدّ:

# حساب مجموع الرواتب لكل مدينة
pivot_df = pd.pivot_table(df, values='Salary', index='City', aggfunc='sum')
Python

7. التعامل مع البيانات الكبيرة في Pandas

1. قراءة البيانات الكبيرة

عند التعامل مع بيانات كبيرة الحجم، يمكن أن تكون الذاكرة مشكلة. توفر Pandas عدة طرق للتعامل مع ذلك، مثل قراءة جزء من البيانات فقط:

# قراءة أول 1000 صف فقط من ملف CSV
df = pd.read_csv('large_data.csv', nrows=1000)
Python
2. تقسيم البيانات الكبيرة (Chunking)

يمكن قراءة البيانات الكبيرة على دفعات (chunks) لتحليلها تدريجيًا دون تحميل الملف بالكامل في الذاكرة:

# قراءة البيانات على دفعات (كل دفعة تحتوي على 1000 صف)
chunk_size = 1000
for chunk in pd.read_csv('large_data.csv', chunksize=chunk_size):
    process(chunk)  # دالة مخصصة لمعالجة كل دفعة من البيانات
Python

8. الحفظ إلى ملفات

1. حفظ البيانات إلى CSV

يمكن بسهولة حفظ DataFrame إلى ملف CSV باستخدام to_csv():

# حفظ DataFrame إلى ملف CSV
df.to_csv('output.csv', index=False)
Python
2. حفظ البيانات إلى Excel

Pandas تدعم أيضًا حفظ البيانات إلى ملفات Excel:

# حفظ DataFrame إلى ملف Excel
df.to_excel('output.xlsx', index=False)
Python

9. الخلاصة

Pandas هي مكتبة قوية وشاملة لتحليل البيانات في لغة البرمجة Python. توفر أدوات مرنة وسهلة الاستخدام للتعامل مع البيانات المعقدة مثل البيانات الزمنية، الجداول المحورية، والبيانات الكبيرة. من خلال توفير وظائف مثل pivot_table(), resample()، وطرق فعالة للتعامل مع البيانات الكبيرة، تتيح Pandas للمطورين القدرة على تحليل البيانات بدقة ومرونة.

الأسئلة الشائعة

1. ما هي Pandas؟
  • Pandas هي مكتبة مفتوحة المصدر لتحليل البيانات باستخدام لغة Python، وتستخدم بشكل رئيسي للتعامل مع الجداول والبيانات المهيكلة.
2. ما هو DataFrame في Pandas؟
  • DataFrame هو هيكل ثنائي الأبعاد يشبه الجداول، يُستخدم لتمثيل البيانات في صفوف وأعمدة، ويُعتبر الأساس في Pandas لتحليل البيانات.
3. كيف يمكن قراءة ملفات CSV باستخدام Pandas؟
  • يمكن قراءة ملفات CSV باستخدام الدالة pd.read_csv('filename.csv') لتحميل البيانات في DataFrame.

روابط مفيدة

مكتبة Pandas تُعتبر جزءًا أساسيًا من بيئة تحليل البيانات، وتقدم حلولًا متقدمة ومرنة لتحليل البيانات بشكل فعال وسريع.

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *