تحليل البيانات باستخدام Python وPandas.

 





1. مقدمة

تحليل البيانات أصبح اليوم من المهارات الأساسية في عالم الأعمال والتقنية، حيث يساعد الأفراد والشركات على اتخاذ قرارات ذكية مبنية على معلومات دقيقة بدلًا من الاعتماد على الحدس فقط. ومن أبرز الأدوات المستخدمة لهذا الغرض هي لغة Python، بفضل بساطتها وقوة مكتباتها في التعامل مع البيانات. ومن بين هذه المكتبات، تبرز Pandas كأداة فعّالة ومرنة تمكنك من معالجة البيانات بسهولة، سواء كانت بيانات صغيرة أو ضخمة، وتنظيمها، وتحليلها، واستخراج رؤى واضحة يمكن استخدامها في التقارير أو النماذج التنبؤية.

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

2. أهداف الدرس:

  1. فهم أساسيات تحليل البيانات: التعرف على مفهوم البيانات وأنواعها وكيفية الاستفادة منها في اتخاذ القرارات الذكية.

  2. التعرف على لغة Python: معرفة كيفية استخدام Python كأداة قوية لمعالجة وتحليل البيانات بشكل مرن وسهل.

  3. استكشاف مكتبة Pandas: تعلم كيفية استخدام Pandas لتنظيم البيانات، تنظيفها، ومعالجتها بكفاءة.

  4. إجراء العمليات الأساسية على البيانات: القدرة على فرز البيانات، تصفيتها، دمجها، وإنشاء ملخصات إحصائية مفيدة.

  5. استخراج رؤى قابلة للتطبيق: تعلم كيفية تحويل البيانات الخام إلى معلومات واضحة تساعد في اتخاذ قرارات دقيقة.

  6. تحضير البيانات للتحليل المتقدم: تجهيز البيانات لعمليات تحليل متقدمة أو لإنشاء نماذج تنبؤية مستقبلية.

3. تحليل البيانات باستخدام Python وPandas

تحليل البيانات باستخدام Python وPandas يعتمد على خطوات واضحة ومنهجية للتعامل مع البيانات، بدءًا من استيرادها وحتى استخراج الرؤى منها.

1. استيراد البيانات

أول خطوة هي استيراد البيانات من مصادر مختلفة مثل ملفات CSV أو Excel أو قواعد البيانات:





الكود جاهز للنسخ :

import pandas as pd


data = pd.read_csv("data.csv")

print(data.head())


head() تعرض أول خمسة صفوف من البيانات لتوفير لمحة سريعة عن هيكلها ومحتواها.

2. استكشاف البيانات

بعد استيراد البيانات، يتم استكشافها لمعرفة نوع الأعمدة، القيم المفقودة، وحجم البيانات:





الكود جاهز للنسخ :

print(data.info())       # معلومات عن الأعمدة وأنواع البيانات

print(data.describe())   # إحصائيات أساسية للبيانات الرقمية

print(data.columns)      # أسماء الأعمدة


info() يظهر نوع البيانات لكل عمود وعدد القيم غير الفارغة، بينما describe() يعطي ملخصًا إحصائيًا يشمل المتوسط، الانحراف المعياري، الحد الأدنى والحد الأقصى، والرباعيات.

3. تنظيف البيانات

البيانات غالبًا ما تحتوي على أخطاء أو قيم مفقودة، لذا يجب تنظيفها قبل التحليل:







الكود جاهز للنسخ :

# إزالة الصفوف التي تحتوي على قيم مفقودة

data = data.dropna()


# ملء القيم المفقودة في عمود محدد بالمتوسط

data['Age'] = data['Age'].fillna(data['Age'].mean())


# إزالة الأعمدة غير المهمة

data = data.drop(columns=['UnnecessaryColumn'])


4. معالجة البيانات

تعديل البيانات لتسهيل التحليل، بما في ذلك تغيير أنواع البيانات، تصفية الصفوف، أو دمج الجداول:







الكود جاهز للنسخ :

# تغيير نوع العمود إلى float

data['Salary'] = data['Salary'].astype(float)


# تصفية الصفوف حسب شرط معين

adults = data[data['Age'] >= 18]


# دمج بيانات من جدولين

merged_data = pd.merge(data1, data2, on='ID')


5. تحليل البيانات

يمكن إجراء عدة عمليات تحليلية على البيانات:

أ. العمليات الإحصائية






الكود جاهز للنسخ :
average_salary = data['Salary'].mean()
max_age = data['Age'].max()
min_income = data['Income'].min()

ب. التجميع والفرز







الكود جاهز للنسخ : 
# حساب متوسط الدخل لكل قسم
department_income = data.groupby('Department')['Salary'].mean()

# فرز البيانات حسب عمود
sorted_data = data.sort_values(by='Salary', ascending=False)

ج. العمليات المتقدمة







الكود جاهز للنسخ :
# إنشاء عمود جديد بناءً على قيم موجودة
data['Salary_in_thousands'] = data['Salary'] / 1000

# حساب نسبة معينة
data['Income_Percentage'] = data['Income'] / data['Income'].sum() * 100

6. التعامل مع السلاسل الزمنية

Pandas تمكنك من تحليل البيانات الزمنية بسهولة:




الكود جاهز للنسخ : 

data['Date'] = pd.to_datetime(data['Date'])

monthly_sales = data.groupby(data['Date'].dt.month)['Sales'].sum()


to_datetime() يحوّل العمود إلى نوع بيانات تاريخي، مما يسهل التجميع حسب الشهر أو السنة.

7. عرض البيانات بصريًا

استخدام مكتبة Matplotlib أو Seaborn مع Pandas لتوضيح الأنماط:

تعّر تحميل 'image.png'.









الكود جاهز للنسخ :

import matplotlib.pyplot as plt


data['Salary'].plot(kind='hist', bins=20, title='توزيع الرواتب')

plt.xlabel('الراتب')

plt.ylabel('عدد الموظفين')

plt.show()


مثال آخر:







الكود جاهز للنسخ :
import seaborn as sns

sns.boxplot(x='Department', y='Salary', data=data)
plt.title('رواتب الموظفين حسب القسم')
plt.show()

8. التعامل مع القيم الفريدة والفرعية








الكود جاهز للنسخ :
# الحصول على القيم الفريدة في عمود
unique_departments = data['Department'].unique()

# تعداد القيم المختلفة
count_by_department = data['Department'].value_counts()

9. تصدير البيانات بعد التحليل

بعد المعالجة والتحليل، يمكن حفظ البيانات في ملفات جديدة:




الكود جاهز للنسخ:

data.to_csv("cleaned_data.csv", index=False)

data.to_excel("cleaned_data.xlsx", index=False)

10. دمج جميع الخطوات

عملية تحليل البيانات عادة تشمل: استيراد البيانات → استكشافها → تنظيفها → معالجتها → تحليلها → عرض النتائج → تصديرها. Pandas توفر جميع الأدوات التي تحتاجها للقيام بهذه الخطوات بكفاءة.

4.الخريطة الذهنية

































5.  أنشطة عملية: تحليل البيانات باستخدام Python وPandas

🔹 النشاط 1: استيراد واستكشاف البيانات

المهمة:

  • قم بتحميل ملف بيانات (مثل students.csv أو sales.csv).

  • استخدم Pandas لاستيراد الملف إلى Python.

  • اعرض أول 10 صفوف من البيانات باستخدام head().

  • استخدم info() وdescribe() للحصول على نظرة عامة عن نوع البيانات والإحصاءات.

الهدف من النشاط:
فهم كيفية التعامل مع الملفات واستكشاف البيانات قبل التحليل.


🔹 النشاط 2: تنظيف البيانات

المهمة:

  • اكتشف إن كانت هناك قيم مفقودة في الأعمدة باستخدام isnull().sum().

  • قم بمعالجة القيم المفقودة إما بالحذف (dropna()) أو التعويض (fillna()).

  • احذف أي أعمدة غير ضرورية أو غير مفيدة للتحليل.

الهدف من النشاط:
تعلم تقنيات تنظيف البيانات وتحضيرها للتحليل.


🔹 النشاط 3: معالجة البيانات

المهمة:

  • أنشئ عمودًا جديدًا بناءً على بيانات موجودة (مثل: حساب إجمالي المبيعات من السعر × الكمية).

  • غيّر نوع عمود معين إلى نوع رقمي أو تاريخي.

  • قم بفرز البيانات حسب عمود محدد مثل الراتب أو التاريخ.

الهدف من النشاط:
تعلم كيفية تعديل البيانات وتحويلها بطريقة تسهّل التحليل.


🔹 النشاط 4: تحليل البيانات

المهمة:

  • استخدم groupby() لحساب متوسط الراتب أو المبيعات لكل قسم أو فئة.

  • احسب أعلى وأقل قيمة في عمود محدد.

  • اكتشف العلاقة بين عمودين مثل العمر والدخل.

الهدف من النشاط:
تطبيق المفاهيم الإحصائية الأساسية باستخدام Pandas.


🔹 النشاط 5: عرض البيانات بصريًا

المهمة:

  • أنشئ مخططًا بيانيًا لتوزيع الأعمار أو الرواتب باستخدام plot() أو hist().

  • استخدم مكتبة Matplotlib أو Seaborn لإنشاء مخطط يوضح الفروق بين الأقسام.

  • أضف عنوانًا وتسميات للمحاور لتوضيح المعنى.

الهدف من النشاط:
تعلّم كيفية تحويل الأرقام إلى رسوم بيانية تسهل الفهم واتخاذ القرار.


🔹 النشاط 6: تصدير النتائج

المهمة:

  • احفظ البيانات بعد التنظيف والتحليل في ملف جديد باسم cleaned_data.csv.

  • صدّر الرسوم البيانية كصور بصيغة .png.

الهدف من النشاط:
تعلم كيفية حفظ النتائج النهائية ومشاركتها أو استخدامها في مشاريع أخرى.

6. أسئلة تفاعلية عن تحليل البيانات باستخدام Python وPandas

🧩 القسم الأول: استيراد واستكشاف البيانات

السؤال 1:
أي من الأوامر التالية تُستخدم لقراءة ملف CSV في Python باستخدام Pandas؟
أ) read_excel()
ب) read_csv()
ج) load_data()
د) import_csv()
الإجابة: ب) read_csv()


السؤال 2:
ما وظيفة الأمر data.head() في تحليل البيانات؟
أ) عرض آخر 5 صفوف من البيانات
ب) عرض أول 5 صفوف من البيانات
ج) حذف الأعمدة غير المهمة
د) عرض الإحصاءات الأساسية
الإجابة: ب) عرض أول 5 صفوف من البيانات


🧩 القسم الثاني: تنظيف البيانات

السؤال 3:
ما الهدف من استخدام dropna() في Pandas؟
أ) حذف القيم المكررة
ب) حذف القيم الفارغة
ج) تحويل نوع البيانات
د) دمج الجداول
الإجابة: ب) حذف القيم الفارغة


السؤال 4:
أي أمر يُستخدم لملء القيم المفقودة في عمود بعينة من القيم؟
أ) replace()
ب) fillna()
ج) drop()
د) merge()
الإجابة: ب) fillna()


🧩 القسم الثالث: معالجة البيانات

السؤال 5:
إذا أردت تصفية البيانات بحيث تُظهر فقط الموظفين الذين أعمارهم أكبر من 30، ما الكود الصحيح؟
أ) data[data['Age'] > 30]
ب) data.filter('Age' > 30)
ج) data.where('Age' > 30)
د) data.sort('Age' > 30)
الإجابة: أ) data[data['Age'] > 30]


السؤال 6:
أي من الأوامر التالية يُستخدم لدمج جدولين في Pandas؟
أ) combine()
ب) merge()
ج) concat()
د) كلا ب و ج
الإجابة: د) كلا ب و ج


🧩 القسم الرابع: تحليل البيانات

السؤال 7:
ما ناتج الأمر التالي؟



أ) يحسب أكبر راتب
ب) يحسب متوسط الرواتب
ج) يحسب أصغر راتب
د) يعرض جميع الرواتب
الإجابة: ب) يحسب متوسط الرواتب


السؤال 8:
عند استخدام groupby('Department')['Salary'].mean()، فإن الناتج هو:
أ) إجمالي الرواتب لكل قسم
ب) متوسط الرواتب لكل قسم
ج) عدد الموظفين في كل قسم
د) أعلى راتب في كل قسم
الإجابة: ب) متوسط الرواتب لكل قسم


🧩 القسم الخامس: عرض البيانات بصريًا

السؤال 9:
ما نوع المخطط الذي يُظهر توزيع القيم بشكل تكراري؟
أ) Boxplot
ب) Histogram
ج) Line chart
د) Pie chart
الإجابة: ب) Histogram


السؤال 10:
أي مكتبة تُستخدم عادةً مع Pandas لعرض البيانات رسوميًا؟
أ) NumPy
ب) Seaborn
ج) TensorFlow
د) BeautifulSoup
الإجابة: ب) Seaborn


🧩 القسم السادس: تصدير النتائج

السؤال 11:
ما وظيفة الأمر data.to_csv("cleaned_data.csv")؟
أ) قراءة ملف CSV
ب) حذف البيانات القديمة
ج) حفظ البيانات في ملف CSV جديد
د) تحليل البيانات الإحصائية
الإجابة: ج) حفظ البيانات في ملف CSV جديد


السؤال 12:
هل يمكن حفظ نفس البيانات في ملف Excel باستخدام Pandas؟
أ) لا يمكن ذلك
ب) نعم، باستخدام to_excel()
ج) فقط باستخدام مكتبة خارجية
د) يمكن ذلك يدويًا فقط
الإجابة: ب) نعم، باستخدام to_excel()

7. تجربتي الشخصية مع تحليل البيانات باستخدام Python وPandas

عندما بدأت رحلتي في تعلم تحليل البيانات، كنت أعتقد أن التعامل مع الأرقام والجداول سيكون معقدًا ومملًا، لكن اكتشفت أن لغة Python ومكتبة Pandas جعلت الأمر ممتعًا وسهلًا أكثر مما توقعت. في البداية، واجهت صعوبة في فهم كيفية استيراد الملفات والتعامل مع الجداول، لكن بعد بعض الممارسة، بدأت أرى الصورة الكاملة: كيف يمكنني تحويل كومة من البيانات الخام إلى معلومات واضحة تساعد في اتخاذ قرارات حقيقية.

أكثر ما أعجبني في Pandas هو قدرتها على معالجة كميات ضخمة من البيانات بسرعة وسهولة. مثلاً، كنت أتعامل مع ملف يحتوي على آلاف الصفوف، وبأمر واحد مثل groupby() استطعت تحليلها ومعرفة الأنماط والنتائج المهمة في دقائق معدودة. كما أن الدمج بين Pandas وMatplotlib جعل عرض النتائج في شكل رسوم بيانية خطوة بسيطة وجميلة بصريًا.

من خلال التجربة، تعلمت أن تحليل البيانات ليس مجرد كود وأوامر، بل هو طريقة تفكير قائمة على الملاحظة والاستنتاج. كل سطر من الكود يمكن أن يكشف شيئًا جديدًا عن البيانات التي أمامك. واليوم، أصبحت أستخدم Pandas بشكل يومي في مشاريعي الصغيرة، سواء لتحليل مبيعات، أو تتبع الأداء، أو حتى لتنظيم معلوماتي الشخصية بطريقة احترافية.

8. الأخطاء الشائعة عند تحليل البيانات باستخدام Python وPandas

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

  1. عدم استكشاف البيانات قبل التحليل:
    كثير من المتعلمين يتسرعون في تطبيق العمليات التحليلية دون فحص البيانات أولًا. تجاهل استخدام أوامر مثل head(), info(), وdescribe() يجعلهم يواجهون نتائج غير دقيقة أو أخطاء في الفهم.

  2. نسيان معالجة القيم المفقودة أو المكررة:
    وجود قيم ناقصة أو مكررة يمكن أن يغيّر تمامًا من نتائج التحليل، خصوصًا عند حساب المتوسطات أو النسب. الحل هو استخدام أوامر مثل dropna() وfillna() وdrop_duplicates() قبل البدء بالتحليل.

  3. عدم الانتباه لأنواع البيانات (Data Types):
    أحيانًا يتم التعامل مع أرقام كأنها نصوص أو العكس، مما يؤدي إلى فشل العمليات الحسابية أو المقارنات. لذلك من المهم التأكد من نوع كل عمود باستخدام dtypes وتعديله عند الحاجة بـ astype().

  4. الاعتماد الكامل على Pandas دون فهم المنطق الإحصائي:
    Pandas أداة قوية، لكنها لا تُغني عن الفهم الإحصائي. من الضروري أن يعرف المحلل ماذا يعني “المتوسط”، “الانحراف المعياري”، أو “العلاقة بين المتغيرات”، حتى لا يفسّر النتائج بشكل خاطئ.

  5. إجراء تعديلات مباشرة على البيانات الأصلية دون نسخة احتياطية:
    التعديل على البيانات الأصلية قد يؤدي إلى فقدانها تمامًا، خصوصًا عند استخدام أوامر الحذف أو التصفية. لذلك يُفضّل دائمًا إنشاء نسخة باستخدام data.copy() قبل التجربة.

  6. نسيان حفظ النتائج بعد الانتهاء من التحليل:
    أحيانًا يُكمل المتعلم تحليله بنجاح لكنه ينسى حفظ النتائج النهائية. يُفضّل دائمًا استخدام أوامر مثل to_csv() أو to_excel() لتخزين العمل وضمان الرجوع إليه لاحقًا.

  7. عدم توثيق الخطوات أو التعليقات في الكود:
    مع الوقت، يصبح من الصعب فهم ما تم تنفيذه دون وجود تعليقات توضيحية. لذلك من الأفضل كتابة ملاحظات قصيرة بجانب كل خطوة لتسهيل الرجوع إليها في المستقبل.

9. نصائح سريعة لتحليل البيانات باستخدام Python وPandas

  1. ابدأ دائمًا بفهم البيانات قبل تحليلها:
    ألقِ نظرة على الأعمدة والصفوف واستخدم أوامر مثل head() وinfo() لتكوين فكرة عن طبيعة البيانات التي تتعامل معها.

  2. نظّف بياناتك قبل أي عملية تحليل:
    تأكد من معالجة القيم المفقودة والمكررة، لأن هذه التفاصيل الصغيرة قد تغيّر النتائج بشكل كبير.

  3. احفظ نسخ احتياطية من بياناتك الأصلية:
    قبل إجراء أي تعديل، أنشئ نسخة باستخدام data.copy() لتجنّب فقدان البيانات أو إتلافها أثناء التجارب.

  4. استفد من إمكانيات Pandas في التصفية والتحليل:
    استخدم أوامر مثل groupby()، وsort_values()، وvalue_counts() لتوفير الوقت واستخلاص معلومات دقيقة بسرعة.

  5. جرّب عرض البيانات بصريًا:
    استخدم مكتبات مثل Matplotlib أو Seaborn لتحويل الأرقام إلى رسوم بيانية تساعدك على فهم الأنماط بسهولة.

  6. دوّن ملاحظاتك أثناء العمل:
    أضف تعليقات توضيحية في الكود، خصوصًا إذا كنت تعمل على مشروع طويل، فهذا يسهل عليك مراجعة الخطوات لاحقًا.

  7. استمر في الممارسة والتجربة:
    تحليل البيانات مهارة تُكتسب بالتدريب. جرّب أنواعًا مختلفة من البيانات، وطبّق ما تتعلمه عمليًا حتى تتقن الأدوات والأوامر.

  8. استخدم مصادر موثوقة للتعلم:
    تابع توثيق مكتبة Pandas الرسمي والدروس التعليمية من مواقع معروفة لتبقى مطّلعًا على أحدث التقنيات والتحديثات.

10. ملخص الموضوع: تحليل البيانات باستخدام Python وPandas

تحليل البيانات باستخدام Python وPandas يُعد من أهم المهارات في عالم التقنية الحديثة، لأنه يساعد على تحويل كميات ضخمة من البيانات الخام إلى معلومات واضحة يمكن الاعتماد عليها في اتخاذ القرارات.
تعتمد Pandas على مفهوم الجداول (DataFrames) التي تسهّل التعامل مع البيانات بطريقة تشبه الجداول في Excel، ولكن بقدرات أكبر بكثير.

خلال عملية التحليل، يمر المستخدم بعدة مراحل أساسية:

  • استيراد البيانات من مصادر مختلفة مثل ملفات CSV أو Excel.

  • تنظيف البيانات من القيم المفقودة أو المكررة لضمان دقة النتائج.

  • معالجة البيانات من خلال تعديل الأعمدة، وإجراء العمليات الحسابية، وتحويل الأنواع.

  • تحليل البيانات باستخدام أدوات مثل groupby() وdescribe() لاستخلاص الأنماط والنتائج المهمة.

  • عرض النتائج بصريًا عبر الرسوم البيانية باستخدام مكتبات مثل Matplotlib أو Seaborn لجعل الفهم أسرع وأسهل.

باستخدام Python وPandas، يمكن لأي شخص — سواء كان مبتدئًا أو محترفًا — اكتساب نظرة أعمق للبيانات التي يتعامل معها يوميًا. فهما لا يُستخدمان فقط في المشاريع الأكاديمية، بل أيضًا في مجالات مثل الأعمال، التسويق، الذكاء الاصطناعي، وحتى تطوير المنتجات.

التحليل الفعّال لا يعتمد فقط على الأوامر البرمجية، بل على التفكير التحليلي والقدرة على ربط الأرقام بالواقع. وعندما تجتمع قوة Python مع مرونة Pandas، يصبح تحليل البيانات عملية ذكية، دقيقة، وسهلة التنفيذ في آن واحد.

11. الخاتمة

في النهاية، يمكن القول إن تحليل البيانات باستخدام Python وPandas أصبح من المهارات الأساسية في هذا العصر الرقمي، حيث تعتمد عليه الشركات والمؤسسات لفهم بياناتها واتخاذ قرارات مبنية على حقائق وأرقام. تمتاز Pandas بسهولة الاستخدام وقوة الأداء، مما يجعلها الخيار الأول للمحللين والمبرمجين على حد سواء.

من خلال تعلمك لهذه الأدوات، أنت لا تكتسب مجرد مهارة تقنية، بل تتعلم طريقة جديدة في التفكير تعتمد على الدقة والمنطق والاستنتاج. ومع الممارسة المستمرة، ستجد نفسك قادرًا على التعامل مع أي نوع من البيانات وتحويلها إلى معرفة ذات قيمة حقيقية.

تحليل البيانات ليس نهاية المطاف، بل هو بداية رحلة من الاكتشاف والتحسين المستمر. لذلك، استمر في التعلم، وطبّق ما تعلمته، ولا تتردد في استكشاف أدوات جديدة تساعدك على تطوير قدراتك أكثر في هذا المجال الرائع.

12. مصادر موثوقة

  1. الموقع الرسمي لمكتبة Pandas
    https://pandas.pydata.org/
    يحتوي على التوثيق الكامل للأوامر والوظائف مع أمثلة عملية توضح كيفية استخدامها في تحليل البيانات.

  2. دروس Python الرسمية
    https://docs.python.org/3/tutorial/
    مصدر موثوق لتعلم أساسيات لغة Python وفهم بناء الجمل والوظائف التي تساعد في تحليل البيانات.

  3. موقع W3Schools لتعلم Pandas وPython
    https://www.w3schools.com/python/pandas_intro.asp
    يقدم شروحات مبسطة وتمارين عملية مناسبة للمبتدئين في تحليل البيانات.

  4. موقع DataCamp
    https://www.datacamp.com/
    يحتوي على دورات تفاعلية في تحليل البيانات باستخدام Python وPandas، مع تطبيقات عملية وتقييمات فورية.

  5. كتاب Python for Data Analysis
    للمؤلف Wes McKinney – مبتكر مكتبة Pandas.
    يُعد هذا الكتاب من أهم المراجع لفهم أساسيات تحليل البيانات وبناء مشاريع حقيقية باستخدام Python.



















































تعليقات