كيفية استخدام مكتبة Pandas لتحليل البيانات في Python
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 10 سبتمبر 2024محتوى المقال
- ما هي مكتبة Pandas؟
- تثبيت Pandas
- تحميل البيانات باستخدام Pandas
- استكشاف البيانات
- تنظيف البيانات ومعالجتها
- التحليل الإحصائي للبيانات
- العمليات على الأعمدة والصفوف
- حفظ البيانات بعد المعالجة
- مقارنة Pandas مع مكتبات تحليل البيانات الأخرى
- الخلاصة
مكتبة Pandas هي واحدة من الأدوات الأساسية في تحليل البيانات باستخدام Python. توفر Pandas هياكل بيانات مرنة مثل DataFrame التي تسهل التعامل مع البيانات وتنفيذ العمليات الإحصائية عليها. في هذا المقال، سنتعرف على كيفية استخدام Pandas لتحميل البيانات، استكشافها، معالجتها، وإجراء التحليل الإحصائي.
ما هي مكتبة Pandas؟
Pandas هي مكتبة مفتوحة المصدر في Python تُستخدم لتحليل البيانات. توفر هياكل بيانات عالية المستوى مثل Series و DataFrame التي تتيح لك التعامل مع البيانات بشكل سهل وفعال. تُعد Pandas أداة قوية لإعداد البيانات، تنظيفها، وتنفيذ التحليلات الإحصائية.
تثبيت Pandas
إذا لم تكن مكتبة Pandas مثبتة لديك بالفعل، يمكنك تثبيتها باستخدام pip:
pip install pandas
بعد تثبيت المكتبة، يمكنك البدء في استخدامها لتحليل البيانات.
تحميل البيانات باستخدام Pandas
أول خطوة في تحليل البيانات هي تحميلها. يمكن تحميل البيانات من مصادر مختلفة مثل ملفات CSV، Excel، JSON، وغيرها. سنستخدم ملف CSV كمثال:
import pandas as pd
# تحميل البيانات من ملف CSV
data = pd.read_csv('data.csv')
print(data.head()) # عرض أول خمس صفوف
في هذا المثال، نقوم بتحميل البيانات من ملف data.csv
إلى DataFrame باستخدام pd.read_csv()
. ثم نقوم بعرض أول خمس صفوف من البيانات باستخدام data.head()
.
استكشاف البيانات
بعد تحميل البيانات، الخطوة التالية هي استكشافها لفهم تركيبها وتحديد الأعمدة المهمة. توفر Pandas العديد من الدوال لهذا الغرض:
# عرض معلومات حول DataFrame
data.info()
# وصف إحصائي للأعمدة العددية
description = data.describe()
print(description)
# عرض أسماء الأعمدة
print(data.columns)
في هذا المثال، نستخدم data.info()
لعرض معلومات حول DataFrame، مثل عدد الصفوف والأعمدة وأنواع البيانات. نستخدم data.describe()
للحصول على وصف إحصائي للأعمدة العددية، وdata.columns
لعرض أسماء الأعمدة.
تنظيف البيانات ومعالجتها
أثناء تحليل البيانات، قد تحتاج إلى تنظيف البيانات من القيم المفقودة أو تعديل القيم الموجودة. Pandas توفر أدوات قوية لتنفيذ هذه العمليات:
إزالة القيم المفقودة
إذا كانت هناك قيم مفقودة في البيانات، يمكنك إزالتها باستخدام dropna()
:
# إزالة الصفوف التي تحتوي على قيم مفقودة
cleaned_data = data.dropna()
print(cleaned_data.info())
في هذا المثال، نقوم بإزالة الصفوف التي تحتوي على قيم مفقودة باستخدام dropna()
، ثم نعرض المعلومات المحدثة عن DataFrame.
ملء القيم المفقودة
بدلاً من إزالة القيم المفقودة، يمكنك ملء هذه القيم باستخدام fillna()
:
# ملء القيم المفقودة بمتوسط العمود
data_filled = data.fillna(data.mean())
print(data_filled.head())
في هذا المثال، نقوم بملء القيم المفقودة في DataFrame بمتوسط القيم في كل عمود باستخدام fillna()
.
تصفية البيانات
يمكنك تصفية البيانات لاختيار صفوف معينة بناءً على شروط معينة باستخدام الأقواس المربعة:
# اختيار الصفوف التي يكون فيها عمر الشخص أكبر من 30
filtered_data = data[data['Age'] > 30]
print(filtered_data.head())
في هذا المثال، نقوم بتصفية البيانات لاختيار الصفوف التي يكون فيها عمر الشخص أكبر من 30 باستخدام شرط داخل الأقواس المربعة.
التحليل الإحصائي للبيانات
Pandas تسهل تنفيذ التحليل الإحصائي على البيانات مثل حساب المتوسط، الوسيط، والتكرارات. إليك بعض الأمثلة:
حساب المتوسط والوسيط
يمكنك حساب المتوسط والوسيط لأي عمود عددي في DataFrame:
# حساب المتوسط لعمر الأشخاص
mean_age = data['Age'].mean()
print("متوسط العمر:", mean_age)
# حساب الوسيط لعمر الأشخاص
median_age = data['Age'].median()
print("وسيط العمر:", median_age)
في هذا المثال، نحسب المتوسط والوسيط لعمر الأشخاص في البيانات باستخدام دوال mean()
وmedian()
.
تحليل التكرارات
تحليل التكرارات يساعد في فهم توزيع القيم في عمود معين:
# حساب تكرارات القيم في عمود الجنس
gender_counts = data['Gender'].value_counts()
print(gender_counts)
في هذا المثال، نقوم بحساب تكرارات القيم في عمود الجنس باستخدام value_counts()
لعرض عدد الذكور والإناث في البيانات.
العمليات على الأعمدة والصفوف
Pandas تتيح لك إجراء عمليات حسابية على الأعمدة والصفوف بشكل سهل. يمكنك إضافة أعمدة جديدة، تعديل الأعمدة الموجودة، أو إجراء عمليات تجميع:
إضافة عمود جديد
لإضافة عمود جديد، يمكنك ببساطة تعيين القيم في DataFrame إلى عمود جديد:
# إضافة عمود جديد يحسب نسبة العمر من متوسط العمر
data['Age_ratio'] = data['Age'] / mean_age
print(data.head())
في هذا المثال، نقوم بإضافة عمود جديد Age_ratio
يحسب نسبة عمر الشخص من متوسط العمر.
تجميع البيانات
يمكنك تجميع البيانات بناءً على عمود معين باستخدام groupby()
، ومن ثم تطبيق العمليات الحسابية على كل مجموعة:
# تجميع البيانات حسب الجنس وحساب متوسط العمر لكل مجموعة
grouped_data = data.groupby('Gender')['Age'].mean()
print(grouped_data)
في هذا المثال، نقوم بتجميع البيانات حسب عمود الجنس، ثم نحسب متوسط العمر لكل مجموعة باستخدام groupby()
.
حفظ البيانات بعد المعالجة
بعد معالجة البيانات وتحليلها، يمكنك حفظ النتائج إلى ملف جديد باستخدام to_csv()
:
# حفظ البيانات المعالجة إلى ملف CSV جديد
data.to_csv('processed_data.csv', index=False)
في هذا المثال، نقوم بحفظ البيانات المعالجة إلى ملف processed_data.csv
بدون تضمين فهرس الصفوف.
مقارنة Pandas مع مكتبات تحليل البيانات الأخرى
Pandas تُعد من أشهر مكتبات تحليل البيانات في Python، ولكن هناك مكتبات أخرى مثل NumPy
و Dask
تقدم ميزات مختلفة:
- Pandas: مثالية لتحليل البيانات المنظمة والعمل مع مجموعات بيانات صغيرة إلى متوسطة الحجم.
- NumPy: تُستخدم في الأساس للتعامل مع البيانات العددية والمصفوفات عالية الأداء.
- Dask: مكتبة توفر إمكانيات Pandas ولكن على نطاق واسع، وتُستخدم مع مجموعات البيانات الكبيرة التي لا تناسب ذاكرة الحاسوب.
الخلاصة
تُعد مكتبة Pandas أداة قوية ومرنة لتحليل البيانات في Python. باستخدام Pandas، يمكنك تحميل البيانات من مصادر مختلفة، استكشافها، تنظيفها، وتحليلها بسهولة وفعالية. توفر DataFrame في Pandas طريقة بديهية للتعامل مع البيانات المنظمة، مما يجعلها الخيار الأمثل للعديد من المهام التحليلية في البيانات.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- كيفية إنشاء وتنفيذ عمليات التزامن باستخدام asyncio في Python
- كتابة سكربت لاستخراج البيانات من مواقع الويب باستخدام Beautiful Soup في Python
- إنشاء واجهات رسومية باستخدام مكتبة PyQt في Python
- كيفية التعامل مع ملفات JSON في Python
- كيفية استخدام مكتبة Matplotlib لإنشاء الرسوم البيانية في Python
- بناء واجهة برمجة تطبيقات (API) باستخدام Flask في Python
- كيفية استخدام مكتبة NumPy لإجراء العمليات الحسابية في Python
- كيفية تشغيل واستعمال بيئات العمل الافتراضية في Python
- كيفية إنشاء بوت تلقائي لمواقع التواصل الاجتماعي باستخدام Python
- كيفية التعامل مع تواريخ وأوقات باستخدام مكتبة datetime في Python