الدرس الثاني: التعامل مع البيانات باستخدام Pandas
1. فحص البيانات
بمجرد تحميل البيانات إلى DataFrame، من الجيد أن تقوم بفحص البيانات للتأكد من أنها كما تتوقع. إليك بعض الطرق المفيدة:
import pandas as pd
# قراءة ملف CSV
df = pd.read_csv('data.csv')
# عرض أول 5 صفوف
print(df.head())
# عرض آخر 5 صفوف
print(df.tail())
# عرض معلومات عن البيانات مثل عدد الصفوف والأعمدة
print(df.info())
# عرض إحصائيات وصفية عن البيانات الرقمية
print(df.describe())
2. الوصول إلى البيانات
تستطيع الوصول إلى البيانات في DataFrame بعدة طرق. إليك بعض الطرق الشائعة:
- الوصول إلى عمود محدد:
# الوصول إلى عمود 'الاسم'
print(df['الاسم'])
- الوصول إلى صف محدد بواسطة الفهرس:
# الوصول إلى الصف الذي يملك الفهرس 2
print(df.loc[2])
# الوصول إلى الصف الذي يملك الفهرس 2 باستخدام iloc (للمواقع العددية)
print(df.iloc[2])
- الوصول إلى خلايا محددة:
# الوصول إلى قيمة في الصف الذي يملك الفهرس 2 والعمود 'المدينة'
print(df.at[2, 'المدينة'])
# الوصول إلى قيمة في الصف الذي يملك الفهرس 2 والعمود 2 (بالمواقع العددية)
print(df.iat[2, 2])
3. تصفية البيانات
يمكنك تصفية البيانات بناءً على شروط معينة. إليك بعض الأمثلة:
# تصفية الأشخاص الذين أعمارهم أكبر من 22
filtered_df = df[df['العمر'] > 22]
print(filtered_df)
# تصفية الأشخاص الذين يعيشون في 'دبي'
dubai_residents = df[df['المدينة'] == 'دبي']
print(dubai_residents)
4. إضافة وتعديل الأعمدة
يمكنك إضافة أعمدة جديدة أو تعديل الأعمدة الموجودة:
# إضافة عمود جديد
df['الدرجة'] = [85, 90, 88, 92]
print(df)
# تعديل قيمة في عمود موجود
df.loc[1, 'العمر'] = 26
print(df)
5. حذف الأعمدة والصفوف
يمكنك حذف الأعمدة أو الصفوف باستخدام:
# حذف عمود
df = df.drop(columns=['الدرجة'])
print(df)
# حذف صف
df = df.drop(index=1)
print(df)
6. تجميع البيانات
تجميع البيانات يمكن أن يكون مفيداً عندما تريد تلخيص المعلومات. إليك كيفية استخدام groupby
:
# تجميع البيانات بناءً على المدينة وحساب متوسط العمر لكل مدينة
grouped_df = df.groupby('المدينة')['العمر'].mean()
print(grouped_df)
7. دمج البيانات
يمكنك دمج DataFrames باستخدام merge
أو concat
:
# دمج DataFrames بناءً على عمود مشترك
df1 = pd.DataFrame({'الاسم': ['أحمد', 'سارة'], 'العمر': [23, 25]})
df2 = pd.DataFrame({'الاسم': ['أحمد', 'سارة'], 'المدينة': ['القاهرة', 'الرياض']})
merged_df = pd.merge(df1, df2, on='الاسم')
print(merged_df)
8. التعامل مع القيم المفقودة
في بعض الأحيان قد تحتوي بياناتك على قيم مفقودة. يمكنك التعامل معها كما يلي:
# عرض القيم المفقودة في DataFrame
print(df.isnull().sum())
# ملء القيم المفقودة بقيمة معينة
df = df.fillna(0)
# حذف الصفوف التي تحتوي على قيم مفقودة
df = df.dropna()
هذه هي بعض العمليات الأساسية والمتقدمة التي يمكنك تنفيذها باستخدام Pandas. في الدروس القادمة، سننتقل إلى تحليل البيانات بشكل أعمق، مثل استخدام أدوات التحليل الإحصائي، والرسم البياني، والتلاعب المتقدم بالبيانات.
إذا كان لديك أي استفسارات أو تحتاج إلى مساعدة في جزء معين، فلا تتردد في طرح سؤالك!