اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 1 : كيف يمكن إنشاء مصفوفة على القيم من 1 إلى 100 باستخدام مكتبة numpy
📝 الجواب
يمكن إنشاء مصفوفة تكون قيم عناصرها عبارة عن سلسلة من الأرقام باستخدام الدالة arrange
- كتابة اسم المكتبة.
- اسم المصفوفة = اسم المكتبة، الدالة arange (عدد عناصر المصفوفة).
- لطباعة المصفوفة: كتابة اسم المصفوفة فقط.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 2 : من خلال دراستك المكتبة numpy كيف يمكن استخراج العناصر الفريدة دون تكرار في مصفوفة.
📝 الجواب
- توفر مكتبة numpy الدالة numpy.unique والتي تستخدم لتحديد القيم الفريدة (القيم دون تكرار) التي تم فرزها في مصفوفة ذات بعد واحد
- توفر مكتبة numpy إمكانية تنفيذ عمليات حسابية على مصفوفات متعددة الأبعاد دون الحاجة إلى استخدام جمل التكرار حيث يمكن استخدام دالات توفر هذه الخاصية وتدعى وتدعى بالـ (Vectorized array operation)
- توفر مكتبة numpy الدالة numpy.where وهي نسخة متجهة تنفذ العمليات على عناصر التي تم تحديدها في المصفوفة دوم الحاجة إلى استخدام أسلوب التكرار.
- توفر مكتبة numpy إمكانية فرز المصفوفات من خلال الدالة () sort والتي يمكن من خلالها فرز المصفوفات حيث يمكن إعطائها مصفوفة وتقوم بفرزها تصاعدياً.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 3 : ما هي هياكل البيانات الأساسية التي توفرها مكتبة Pandas وماهي استخداماتها الرئيسية.
📝 الجواب
- تحتوي مكتبة pandas على تراكيب بيانات بالإضافة إلى دوال لمعالجة البيانات تم تصميمها لتسهيل عملية تنظيف البيانات (data cleaning) وسرعة تحليل البيانات. ويتم استخدام هذه المكتبة أيضا مع المكتبات الأخرى مثل مكتبة numpy ومكتبة Scipy. وتحتوي مكتبة Pandas على نوعين من تراكيب البيانات وهم : Series بالإضافة إلى Dataframe.
- Series عبارة عن أحد أنواع تراكيب البيانات التي توفرها مكتبة Pandas
- Series هي عبارة عن كائن يشبه المصفوفة أحادية البعد يحتوي على سلسلة من القيم (من أنواع مشابهة لأنواع NumPy) من نفس نوع البيانات، ومجموعة مرتبطة من تسميات البيانات تسمى بالمؤشر (index) ويمكن أن تحتوي series على مصفوفة ذات بعد واحد.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 4 : ما هي استخدامات الانتشار في مكتبة pandas
📝 الجواب
- لإجراء عمليات حسابية Series و Dat Frame المختلفة عند القيام بإجراء عملية حسابية بين Date Frame ذات أبعاد مختلفة أو Series تجري عملية انتشار مشابهة لما يجري بين المصفوفات ذات الأبعاد المختلفة وفقا لمؤشر Series.
- يمكن استخدام الدوال الحسابية من مكتبة Numpy وتطبيق DateFrame.
- يمكن استخدام الدالة () apply لتنفيذ دالة معينة من كافة عناصر DateFrame
- يمكن استخدام دوال البايثون التي تعمل على معالجة كل عناصر ضمن DateFrame باستخدام الدالة () applymap
- يمكن استخدام الدالة () map مع Series حيث يقوم بإجراء معالجة على مستوى العناصر وذلك من خلال تنفيذ دالة بايثون على كل عنصر.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 5 : ما هي أهم الدوال المستخدمة في تحميل البيانات باستخدام مكتبة pandas
📝 الجواب
- read _csv تحميل البيانات باستخدام المحدد من ملف أو عنوان URL أو كائن يشبه الملف باستخدام الفاصلة كمحدد افتراضي.
- read_fwf قراءة البيانات بتنسيق عمود ذو عرض ثابت (أي بدون محددات).
- read_clipboard صيغة read_csv التي تقرأ البيانات من الحافظة مفيد لتحويل الجداول من صفحات الويب.
- read_excel قراءة البيانات الجدولية من ملف اكسل بامتداد XLS أو XLSX
- read_hdf قراءة البيانات التي تم انشائها باستخدام مكتبة Pandas بصيغة HDF.
- read_html قراءة جميع الجداول الموجودة في مستند HTML.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 6 : كيف يمكن اكتشاف وجود القيم المفقودة في DataFrame في مكتبة pandas .
📝 الجواب
- تقوم مكتبة pandas بتمثيل البيانات المفقودة والخاصة بالبيانات التي تحتوي فاصلة عشرية من خلال قيمة غير رقمية nan
- يدعى هذا الأسلوب قيمة Sentinel عندما تكون موجودة فإنها تشير إلى قيمة مفقودة أو فارغة.
- تستخدم أيضاً الدالة isna () للتحقق من وجود قيم مفقودة أو فارغة حيث تعتمد على قيمة صح أو خطأ .
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 7 : من خلال دراستك الموضوعات متقدمة في مكتبة Pandas . ناقش كيف يمكن استخدام التعابير النمطية المعالجة النصوص في DataFrame.
📝 الجواب
- يمكن تطبيق التعابير المنطقية ودوال معالجة النصوص المضمنة في بايثون على عناصر series و dataframe و لكنها ستفشل في التعامل مع القيم الفارغة null
- للتعامل مع هذه المشكلة تحتوي series على أساليب موجهة نحو المصفوفة لإجراء عمليات للنص التي يتم حيث تقوم بتخطي قيم غير الموجودة NA.
- يمكن استخدام خاصية series التي اسمها str لاسترجاع نصوص محددة في series.
- يمكن استخدام str.get أو مؤشر ( فهرس) في الخاصية str
- يمكن استخدام الدلة str.extract لإرجاع المجموعات الملتقطة من التعبير النمطي على هيئة DataFrame
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 8 : من خلال دراستك لموضوع معالجة البيانات. ناقش الاختلاف بين نوع دمج البيانات وفق التقاطع ودمج البيانات وفق الاتحاد وكيفية تطبيق النوعين على اثنين من DataFrame يحتويان على أعمدة مختلفة.
📝 الجواب
- دمج البيانات من خلال التقاطع: يقوم بربط البيانات وفق المفاتيح المشتركة فقط في كلا الجدولين.
- دمج البيانات من خلال الاتحاد: من خلال ضم جميع المفاتيح المشتركة وغير المشتركة في الجدولين.
- دمج البيانات وفقا للمفاتيح في الجدول في الجهة اليسرى فقط (left join).
- دمج البيانات وفقا للمفاتيح في الجدول في الجهة اليمين فقط (left join) .
- في الدمج الاتحاد (الخارجي) الصفوف من كائنات Dataframe اليسرى أو اليمنى غير متطابقة على المفاتيح الموجودة في Dataframe الآخر ستظهر مع قيم NA في Dataframe الآخر أعمدة للصفوف غير المتطابقة.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 9 : تناول الفصل التاسع موضوعات متقدمة في معالجة البيانات. تحدث عن الاختلاف بين استخدام الدالة pivot والدالة melt
📝 الجواب
- الدالة pivot : تستخدم لتحويل البيانات من تنسيق طويل إلى تنسيق واسع. وتقوم بتحويل الصفوف إلى أعمدة. ويمكن استخدامها لإعادة ترتيب البيانات بناءً على قيم محددة. وتستخدم عادة عندما تكون لدينا قيم محددة نريد أن نراقبها عبر الأعمدة.
- الدالة melt : تستخدم لتحويل البيانات من تنسيق واسع إلى تنسيق طويل. وتقوم بتحويل الأعمدة إلى صفوف. ويمكن استخدامها لإعادة ترتيب البيانات بناءً على متغيرات محددة. وتستخدم عادة عندما نريد تحليل البيانات بناءً على متغيرات محددة
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 10 : من خلال دراستك الموضوع تمثيل وعرض البيانات. ناقش أنواع الدوال التي يمكن استخدامها لضبط قيم عناصر مخطط الرسم البياني.
📝 الجواب
- الدالة xlim والتي تستخدم لتحديد نطاق مخطط الرسم البياني للمحور السيني الأفقي.
- الدالة xticks والتي تستخدم لتحديد النقاط على المحور السيني الأفقي أو المحور الصادي العمودي.
- الدالة xticklabels وتسمية المحاور.
- الدالة set_xticks وتستخدم لتحديد النقاط على المحور السيني الأفقي.
- الدالة set_xticklabels وتستخدم لإضافة تسميات للنقاط على المحور السيني الأفقي، ويمكن تدوير التسمية عن طريق تغيير قيمة المعامل rotation.
- الدالة set_title تستخدم لإضافة تسمية لمخطط الرسم البياني
- الدالة set تستخدم للقسم الفرعي وذلك لا ضافة تسميات للمحاور.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 11 : كيف يمكن استخدام مكتبة seaborn لإجراء تحليل استكشافي على مجموعة بيانات.
📝 الجواب
- مكتبة Seaborn ، وهي عبارة عن مكتبة توفر رسومات إحصائية عالية المستوى، وهي مكتبة مبنية على matplotlib. وتساعد مكتبة على تبسيط إنشاء العديد من أنواع تصوير البيانات الشائعة.
- يتوجب تثبيت مكتبة seaborn خلال كتابة الأمر التالي في conda install seaborn) :conda)
- لاستخدام مكتبة seaborn نستخدم الأمر التالي In [87]: import seaborn as sns
- يفضل استخدام مكتبة seaborn مع البيانات التي تتطلب التجميع أو التلخيص قبل إنشاء مخطط الرسم البياني.
- رسم المخططات البيانية الشريطية في مكتبة seaborn :
- دالة رسم المخططات البيانية barplot مكتبة Seaborn تأخذ معامل بيانات data والتي يمكن أن تكون بيانات DataFrame.
- والمعامل الثاني اسم الأعمدة.
- بالإضافة الى معامل hue والذي يستخدم لفصل البيانات الفئوية.
- يمكن التبديل بين مظاهر مخطط الرسم البياني المختلفة باستخدام الدالة seaborn.set_style
- عند التعامل مع مخططات الرسم البياني باللونين الأبيض والأسود يفضل استخدام لوحة الألوان ذات التدرج الرمادي
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 12 : ما هي السلاسل الزمنية في مكتبة Pandas وماهي طرق انشائها .
📝 الجواب
- يستخدم الكائن "سلسلة زمنية (Time Series) لتمثيل بيانات تاريخية متتابعة على مدى فترة زمنية محددة. ويستخدم في مويد غالب الأحيان لتحليل البيانات الزمنية، مثل الأسعار، الإحصاءات الاقتصادية، البيانات الجوية، وما إلى ذلك.
- طرق إنشاء السلاسل الزمنية في مكتبة Pandas :
- إنشاء سلسلة زمنية فارغة (([]) . import pandas as pd ts = pd.Series (index = pd.DatetimeIndex
- إنشاء سلسلة زمنية ببيانات محددة = import pandas as pd dates = ['2022-01-01', '2022-01-02', '2022-01-03'] values .[100, 200, 150] ts = pd.Series (data-values, index = pd.to_datetime (dates))
- إنشاء سلسلة زمنية باستخدام الدوال import pandas as pd ts = pd.Series (data = range (5), index = pd.date_range .(start = '2022-01-01', periods = 5, freq = 'D'))
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 13 : ناقش طرق القيام بعملية الازاحة في السلاسل الزمنية.
📝 الجواب
تعني عملية الازاحة في السلاسل الزمنية نقل البيانات بشكل تماثلي إلى الأمام أو إلى الخلف وفقا لعدد محدد من الفترات زمنية. وهناك عدة طرق للقيام بعملية الازاحة في السلاسل الزمنية تتمثل في:
- الازاحة الزمنية نحو الأمام : يقوم بتحريك البيانات اثنين من الفترات إلى الأمام.
- الازاحة الزمنية نحو الخلف: يقوم بتحريك البيانات اثنين من الفترات إلى الخلف.
- إزاحة بالتعويض : يقوم بنقل البيانات بمقدار يوم واحد.
اضغط هنا لدخول قناة جامعة الملك فيصل
أزرار التنقل بين مناقشات المادة ⤵️
🔖 السؤال
س 14 : كيف يمكن تحويل سلسلة زمنية في مكتبة Pandas من تردد الى آخر، مثل تحويلها من سلسلة زمنية ممثلة بالدقيقة إلى سلسلة زمنية ساعية.
📝 الجواب
- لتحويل سلسلة زمنية من تردد واحد إلى آخر في مكتبة Pandas ، يمكن استخدام الدالة resample () متبوعة بالتردد الجديد الذي نرغب في التحويل إليه.
- في حال كان لدينا سلسلة زمنية ممثلة بالدقائق ونرغب في تحويلها إلى سلسلة زمنية ساعية، يمكنك القيام بذلك كالتالي : import pandas as pd
- إنشاء سلسلة زمنية بتردد الدقائق: ts_minute = pd.Series(range(60), index=pd.date_range('2022-01-01', periods=60, freq='T'))
- تحويل السلسلة الزمنية إلى تردد ساعي ts_hourly = ts_minute.resample('H').sum()
- يمكن استخدام دالة مثل sum () أو mean () أو غيرها حسب احتياجك (print(ts_hourly .