مكتبات البايثون لتحليل البيانات - علم البيانات - ثاني ثانوي

البيانات الخاطئة
عين 2023
01:55
(0) 0 التقييم التعليقات المشاركة

108 الدرس الثاني رابط الدرس الرقمي مكتبات البايثون لتحليل البيانات www.ien.edu.sa في الدرس السابق، تم التطرق إلى أن البايثون يستخدم المكتبات من أجل التعامل مع البيانات، وفي هذا الدرس ستتعلم طريقة توظيف مكتبات البايثون في مفكرة جوبيتر الخاصة بك. مكتبة نمباي NumPy Library يرمز اسم مكتبة نمباي (NumPy) إلى البايثون العددي Numerical python)، وهي مكتبة قياسية للعمل مع البيانات العددية في البايثون يمكن استخدامها لإجراء مجموعة متنوعة من العمليات الرياضية على المصفوفات. الجدول 3.3 وظائف مكتبة نيمباي الوظيفة المعنى add(arr1, arr2,...) multiply(arr1,arr2,...) absolute(arr) maximum(arr1,arr2,...) إضافة المصفوفات. ضرب المصفوفات. تُرجع القيمة المطلقة لكل عنصر في المصفوفة المدخلة. ترجع القيمة القصوى في المصفوفة المدخلة. ابدأ بإنشاء قائمة بسيطة في مفكرة جوبيتر الخاصة بك. هذه قائمتك: الوظيفة (Method) هي دالة مرتبطة بكائن (Object) ويتم تعريفها داخل الفئة (Class). على سبيل المثال: .np.add(arr1, arr2) myList = [-3,-2,-1,0,1,2,3,4,5,5,5,6,7,8] print (type (myList)) print (myList) <class 'list'> [-3, -2, -1, 0, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8] المصفوفة (Array): هي نوع من البيانات يمكنه الاحتفاظ بعدد ثابت من القيم التي لها نفس نوع البيانات. الشكل 3.10: وضع قائمة في مفكرة جوبيتر استخدم مكتبة نمباي، وفي هذا المقطع البرمجي ستستخدم وظيفة القيمة المطلقة (( )absolute) لطباعة القيم المطلقة للقائمة. import numpy as np عند استخدام مكتبة، يمكنك أن تعطيها اسما لاستخدام وظائفها في مقطعك البرمجي. a = np.absolute (myList) print (a) [3 2 1 0 1 2 3 4 5 5 5 6 7 8] الشكل 3.11: استخدام مكتبة نمباي عند استخدام وظيفة من المكتبة، اكتب اسم المكتبة، ثم نقطة، ثم اسم الدالة. وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

وظيفة (Method)

شرح وظيفة (Method)

مكتبة نمباي

شرح مكتبة نمباي

وظائف مكتبة نيمباي

شرح وظائف مكتبة نيمباي

مصفوفة (Array)

شرح مصفوفة (Array)

وضع قائمة في مفكرة جوبيتر

شرح وضع قائمة في مفكرة جوبيتر

استخدام مكتبة نمباي

شرح استخدام مكتبة نمباي

مكتبة بانداس Panda Library تأخذ مكتبة بانداس البيانات وتنشئ كائن البايثون، وهناك نوعان رئيسان من الكائنات المتسلسلة (Series): عبارة عن مصفوفة أحادية البعد قادرة على حمل أي نوع من البيانات الأعداد الصحيحة (Integers)، والسلاسل النصية (Strings)، والأرقام العشرية (Floats) ، وكائنات البايثون وغيرها). > إطار البيانات (DataFrame) : هو هيكل بيانات ثنائي الأبعاد يبدو مشابهًا جدا لجدول في ورقة عمل إكسل. لكل كائن أساليبه وسماته الخاصة. يمكنك إنشاء متسلسلة أو إطار بيانات من الصفر ( من القوائم والقواميس وما إلى ذلك ) كما يمكن استيراد البيانات من مصادر البيانات، مثل إكسل ،و CSV و SQL و JSON ، والمزيد. الجدول :3.4 الاختلافات بين مكتبتي بانداس ونيمباي أنواع البيانات أنواع الكائنات الأداء استخدام الذاكرة الاستخدام بانداس يعمل مع البيانات المجدولة. متسلسلة Series) ، إطار البيانات (DataFrame). يتعامل مع مئات الآلاف من البيانات. يستهلك المزيد من الذاكرة نيمباي يعمل مع البيانات العددية مصفوفات. يعالج خمسين ألف صف أو أقل. يستهلك ذاكرة أقل. تحليل البيانات وتصويرها. إجراء الحسابات. كائن المتسلسلة Series Object الآن، ستقوم بتحويل هذه القائمة إلى كائن المتسلسلة. للقيام بذلك عليك تضمين مكتبة بانداس في مفكرتك . ولاستخدام مكتبة في البايثون، يمكنك إضافة كلمة استيراد (Import) واسم المكتبة في بداية مقطعك البرمجي. في مفكرة جوبيتر، عليك استيراد المكتبة مرة واحدة فقط ثم يمكنك استخدامها في المفكرة بأكملها. import pandas as pd S = pd.Series (myList, name='Numbers') print(s) عناصر المتسلسلة. 01234569 -3 -2 -1 7 8 9 10 11 012345556 12 7 13 8 Name: Numbers, dtype: int64 الشكل :312 تحويل قائمة إلى كائن المتسلسلة الفهرس. 109 وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

مكتبة بانداس

شرح مكتبة بانداس

الاختلاف بين مكتبات بانداس ونيمباي

شرح الاختلاف بين مكتبات بانداس ونيمباي

كائن المتسلسلة

شرح كائن المتسلسلة

110 سمات كائن المتسلسلة Attributes of Series Object في الجدول 3.5 يتم تقديم بعض السمات الأكثر شيوعًا التي يمكنك استخدامها لكائن المتسلسلة. الجدول 3.5 سمات كائن المتسلسلة السمة name size is_unique hasnans المعنى تُرجع اسم المتسلسلة. السمة (Attribute قيمة مرتبطة بالكائن الذي يشار إليه بالاسم باستخدام تعبيرات منقطة. على سبيل المثال، إذا كان الكائن طالبا (student) وكانت السمة درجة (grade)، فسيتم الإشارة إليها student.grade. تُرجع حجم المتسلسلة. ترجع صواب (True) إذا كانت قيم كائن المتسلسلة فريدة، وإلا فإنها تُرجع خطأ (False). في الحوسبة، NaN ترمز إلى ليس رقما (Not a Number). تُرجع صواب (True) إذا كان كائن المتسلسلة المعطى لديه قيم مفقودة، وإلا فإنها ترجع خطأ (False). طبق بعض هذه السمات في كائن المتسلسلة. # What is the name of the Series? print ("The name of the series is:", s.name) The name of the series is: Numbers # Print Series size print ("Size of the series is: ", s.size) Size of the series is: 14 print ("Are the elements of this series unique?", s.is_unique) Are the elements of this series unique? False # Check if there are empty rows in the Series (nan = Not A Number) print("Are there empty values in the series?", s.hasnans) Are there empty values in the series? False الشكل 3.13: السمات في كائن المتسلسلة وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

سمات كائن المتسلسة

شرح سمات كائن المتسلسة

السمة

شرح السمة

NaN

شرح NaN

طبق بعض هذه السمات في كائن المتسلسلة

شرح طبق بعض هذه السمات في كائن المتسلسلة

111 كائن إطار البيانات DataFrame Object الأداة التحليلية الأكثر شيوعًا واستخداما هي إكسل. يمكنك العمل مع ملفات إكسل في مفكرة جوبيتر باستخدام مكتبة بانداس. لفتح ملف إكسل في مفكرة جوبيتر، تحتاج إلى أن تكون هذه الملفات ( ملف الإكسل والمفكرة) في نفس المجلد. مكتبة نظام التشغيل Os Library للتحقق من ملف العمل الخاص بك، يمكنك استخدام مكتبة نظام التشغيل (OS) ، حيث أنها توفر في البايثون وظائف لإنشاء دليل (مجلد) وإزالته، وجلب محتوياته، وتغيير المجلد الحالي أو تحديده، إلى أخره. وزارة التعليم Ministry of Education 2024-1446 A import os os.getcwd () 'c:\\Users\\Documents\\Jupyter examples' الشكل 3.14: مكتبة نظام التشغيل getcwd يرمز إلى احصل على مجلد العمل الحالي .(get current working directory) هذا هو ملف الإكسل الخاص بك. AutoSave Off F saudischools.xlsx ▼ Binary Academy BA File Home Insert Page Layout Formulas Data Review View Help Comments Share Calibri ✓ 11 Number く Conditional Formatting B I U ٧ AA" ✓ %9 Paste v Number Format as Table ▾ Cell Styles Styles Insert Delete Format Analyze Editing Data Cells Analysis Clipboard √ Font F2 Б Alignment fx 0 D مجموع الطلبة 826 1.040 190 34.668 285 71 183 16.018 548 63 119 16.544 Ready Accessibility: Good to go 34 3.836 149 6.057 56 2.216 10 1.481 1.030 380 40 74 C B A المنطقة الإدارية المرحلة نوع المدرسة الرياض التعليم المستمر تعليم الكبار الرياض المرحلة الإبتدائية تحفيظ الرياض المرحلة الإبتدائية تربية خاصة الرياض المرحلة الإبتدائية نهاري الرياض المرحلة الثانوية تحفيظ الرياض المرحلة الثانوية تربية خاصة الرياض المرحلة الثانوية تعليم الكبار الرياض المرحلة الثانوية نهاري الرياض المرحلة المتوسطة تحفيظ الرياض المرحلة المتوسطة تربية خاصة الرياض المرحلة المتوسطة تعليم الكبار الرياض المرحلة المتوسطة نهاري الرياض رياض الأطفال تربية خاصة الرياض رياض الأطفال نهاري الرياض المرحلة الإبتدائية تحفيظ الرياض المرحلة الإبتدائية نهاري الرياض المرحلة الثانوية تعليم الكبار الرياض المرحلة الثانوية نهاري الرياض المرحلة المتوسطة تحفيظ الرياض المرحلة المتوسطة نهاري الرياض رياض الأطفال نهاري الرياض المرحلة الإبتدائية نهاري الرياض المرحلة المتوسطة نهاري الرياض الطلبة والمعلمين والاداريين المدارس رياض الأطفال المدارس (مراحل) فصول نهاري 目 الشكل 3.15: saudischools.xlsx ملف إكسل إن مجموعة البيانات التي ستستخدمها في هذا الدرس مقدمة من قبل وزارة التعليم من خلال منصة البيانات المفتوحة السعودية https://open.data.gov.sa . يمكنك استخدام بيانات ملف إكسل لغرض هذا الدرس باتباع سياسات البيانات المفتوحة https://open.data.gov.sa/ar/pages/policies/license. + 100% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

الدرس الثاني: مكتبات البايثون لتحليل البيانات

كائن إطار البيانات

شرح كائن إطار البيانات

مكتبة نظام التشغيل

شرح مكتبة نظام التشغيل

data = pd.read_excel ('saudischools.xlsx') data لفتح ملف إكسل في مفكرة جوبيتر، يجب أن تحفظ كل من ملف الإكسل وملف مفكرة جوبيتر في نفس المجلد. 5597 rows x6 columns وزارة التعليم Ministry of Education 2024-1446 الآن، ستقوم بتحويل ملف الإكسل الآتي إلى إطار البيانات لمعالجة بياناته. نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين 0 0 826 41 72 1040 10 123 190 1152 1843 34668 0 41 285 18 215 0 40 154 0 12 86 3 15 0 2 19 المنطقة الإدارية المرحلة الرياض التعليم المستمر تعليم الكبار الرياض المرحلة الإبتدائية تحفيظ الرياض المرحلة الإبتدائية تربية خاصة الرياض المرحلة الإبتدائية نهاري الرياض المرحلة الثانوية تحفيظ 0 1 2 3 4 : 5592 نجران المرحلة الإبتدائية نهاري 5593 نجران رياض الأطفال نهاري 5594 نجران المرحلة الإبتدائية نهاري 5595 نجران المرحلة المتوسطة نهاري 5596 نجران رياض الأطفال نهاري الشكل 3.16: إنشاء إطار بيانات إذا كان ملف الإكسل يحتوي على أوراق عمل متعددة، يمكنك قراءة ورقة عمل محددة. تستخدم وظيفة بانداس (read_excel) متغير يسمى (sheet_name تخبر بانداس بورقة العمل التي يجب قراءتها من البيانات المتاحة في ملف الإكسل. إذا لم تحدد الورقة، فإنها ستقرأ ورقة العمل الأولى. سمات كائن إطار البيانات Attributes of a DataFrame Object في الجدول الآتي، يتم تقديم بعض السمات الأكثر شيوعًا ، والتي يمكنك توظيفها في الحصول على معلومات حول إطار البيانات. المعنى ترجع أبعاد إطار البيانات. ترجع العدد الإجمالي للعناصر في إطار بيانات (n xm). ترجع نوع القيمة لكل عمود. ترجع أسماء أعمدة إطار البيانات. تُرجع عدد الصفوف وأسماء الأعمدة. الجدول :3.6 سمات كائن إطار البيانات السمة shape size dtypes columns axes 112

الدرس الثاني: مكتبات البايثون لتحليل البيانات

إنشاء إطار بيانات

شرح إنشاء إطار بيانات

سمات كائن إطار البيانات

شرح سمات كائن إطار البيانات

113 وزارة التعليم Ministry of Education 2024-1446 # Printing the table dimensions data.shape (5597, 6) # Return the total number of elements in the array (n x m) data.size 33582 # Return the type of the value of each column data.dtypes object object object int64 int64 int64 dtype: object يمكنك إضافة تعليقات إلى مقطعك البرمجي باستخدام ) في بداية العبارة وهي جُمل لا يتم تنفيذها وإنما تُضاف لجعل المقطع البرمجي سهل القراءة والفهم. المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين # Return the number of rows and the name of the column data.axes [RangeIndex (start=0, stop=5597, step=1), 1 ' مجموع الطلبة'])Index ,'المنطقة الإدارية', 'المرحلة', 'نوع المدرسة ,["مجموع المعلمین', 'مجموع الإداريين" الشكل 3.17: استخدام الخصائص على كائن إطار البيانات م ('dtype='object الجدول 3.7 أنواع بيانات بانداس نوع بيانات بانداس نوع بيانات البايثون في مكتبة بانداس عادة ما يكون نوع بيانات الكائن سلسلة نصية .string data str or mixed int object int64 float float64 bool bool NA datetime64 NA timedelta[ns] NA category

الدرس الثاني: مكتبات البايثون لتحليل البيانات

استخدام الخصائص على كائن إطار البيانات

شرح استخدام الخصائص على كائن إطار البيانات

أنواع بيانات بانداس

شرح أنواع بيانات بانداس

الفهرسة Indexing الفهرس (Index) هو قائمة بالأعداد الصحيحة أو التسميات التي تستخدمها لتحديد الصفوف أو الأعمدة بشكل فريد في بانداس، تتضمن الفهرسة بشكل أساسي اختيارًا محددًا للصفوف والأعمدة من البيانات من إطار البيانات، حيث يمكن اختيار جميع الصفوف وبعض الأعمدة، أو اختيار بعض الأعمدة، أو بعض من كل صف وعمود . اختيار مجموعة بيانات جزئية (Subset Selection) هو مصطلح آخر للفهرسة. الصفوف وجميع لتشاهد بعض الأمثلة على الوظائف التي يمكنك استخدامها للفهرسة. وزارة التعليم Ministry of Education 2024-1446 print(s) 0 -3 1 -2 2 -1 3 4 5 6 7 8 9 10 11 0123455555 6 12 7 13 8 المعنى ترجع العناصر الأولى من الكائن. تُرجع العناصر الأخيرة من الكائن. رجع القيم الفريدة للكائن وعدد مرات تكرارها. ترجع قيمة فهرس العنصر الأقصى. ترجع قيمة فهرس العنصر الأدنى. الجدول 3.8 وظائف الفهرسة الوظيفة head() tail() value_counts() idxmax() idxmin() استخدام الفهرسة في كائن المتسلسلة Using Indexing in a Series Object طبق وظائف الفهرسة هذه على كائن المتسلسلة الذي قمت بإنشائه. اطبع كائن المتسلسلة أولًا، لتذكر محتوياته. Name: Numbers, dtype: int64 كائن المتسلسلة. 114

الدرس الثاني: مكتبات البايثون لتحليل البيانات

الفهرسة

شرح الفهرسة

وظائف الفهرسة

شرح وظائف الفهرسة

استخدام الفهرسة في كائن المتسلسلة

شرح استخدام الفهرسة في كائن المتسلسلة

115 وزارة التعليم Ministry of Education 2024-1446 x=4 print ("the value of the index",x, "is",s(x)) the value of the index 4 is 1 # Return the first 2 rows of the series s.head (2) 0 1 -3 -2 Name: Numbers, dtype: int64. # Return the last rows of the series s.tail () 9 5 10 5 11 6 12 7 13 8 Name: Numbers, dtype: int64 # Return a count of the unique values of the series s.value_counts () -3 -2 -1 532 HON3460 3 1 1 1 1 1 1 2 1 1 1 7 1 1 8 Name: Numbers, dtype: int64 الشكل :318 استخدام الفهرسة في كائن المتسلسلة القيمة الافتراضية لعدد الصفوف للوظيفتين ()head و ()tail هي 5 لكل من المتسلسلة وإطار البيانات.

الدرس الثاني: مكتبات البايثون لتحليل البيانات

تابع استخدام الفهرسة في كائن المتسلسلة

شرح تابع استخدام الفهرسة في كائن المتسلسلة

وزارة التعليم Ministry of Education 2024-1446 استخدام الفهرسة في كائن إطار البيانات Using Indexing in DataFrame Object # Printing the first 10 rows of the table data.head (10) data.tail () المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين 0 الرياض التعليم المستمر تعليم الكبار 1 الرياض المرحلة الإبتدائية تحفيظ 2 الرياض المرحلة الإبتدائية تربية خاصة 190 3 الرياض المرحلة الإبتدائية نهاري 4 الرياض المرحلة الثانوية تحفيظ 5 الرياض المرحلة الثانوية تربية خاصة 6 الرياض المرحلة الثانوية تعليم الكبار 7 الرياض 8 الرياض و الرياض المرحلة الثانوية نهاري المرحلة المتوسطة تحفيظ المرحلة المتوسطة تربية خاصة 0 0 826 41 72 1040 10 123 1152 1843 34668 0 41 285 0 19 71 0 0 183 462 980 16018 34 42 548 2 28 63 نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين 0 18 215 0 40 154 0 12 86 0 3 15 0 2 19 المنطقة الإدارية المرحلة 5592 نجران 5593 نجران المرحلة الإبتدائية نهاري رياض الأطفال نهاري 5594 نجران المرحلة الإبتدائية نهاري 5595 نجران المرحلة المتوسطة نهاري 5596 نجران رياض الأطفال نهاري 116

الدرس الثاني: مكتبات البايثون لتحليل البيانات

استخدام الفهرسة في كائن إطار البيانات

شرح استخدام الفهرسة في كائن إطار البيانات

# Acessing the dataframe attribute 'columns' to print the names of # the table's columns for col in data.columns: print(col) طباعة أسماء أعمدة إطار البيانات. مجموع الطلبة مجموع الإداريين مجموع المعلمين 5597.000000 5597.000000 19.459175 5597.000000 count 0.000000 min 89.510988 1110.124352 mean 66.800341 192.359535 2950.990275 std 0.000000 4.000000 31.000000 25% 1.000000 17.000000 136.000000 50% 0.000000 0.000000 10.000000 82.000000 808.000000 75% 1152.000000 2090.000000 36416.000000 max تستخدم وظيفة ( )describe لعرض بعض التفاصيل الإحصائية الأساسية الشكل 3.19: استخدام الفهرسة في كائن إطار البيانات المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين data.describe () 117 وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

تابع استخدام الفهرسة في كائن إطار البيانات

شرح تابع استخدام الفهرسة في كائن إطار البيانات

تصفية البيانات أو اختيار مجموعة بيانات جزئية Filtering Data or Subset Selection تصفية البيانات (Attribute): في بعض الأحيان لا تحتاج إلى مجموعة البيانات بأكملها. تحتاج إلى عزل بعض البيانات المحددة. تصفية البيانات هو عملية اختيار للقيام بذلك، تحتاج إلى إضافة بعض المرشحات. هناك العديد من الأساليب لاختيار مجموعة جزئية جزء أصغر من مجموعة البيانات من إطار البيانات أو متسلسة . الأسلوب الأسهل هو استخدام الفهرسة المنطقية (Boolean Indexing)، الخاصة بك واستخدام تلك المجموعة ولكن الأسلوب الأكثر قوة هو باستخدام طريقتي loc و iloc أولا ستتعلم الفهرسة المنطقية ثم الجزئية للعرض أو التحليل. أسلوب loc و iloc. الفهرسة المنطقية Boolean Indexing هي نوع من الفهرسة التي تستخدم القيم الفعلية لمجموعة البيانات، وفيها تحتاج إلى استخدام المعاملات المنطقية (Boolean Operator)، وتكتب المعاملات المنطقية بشكل مختلف في مفكرة جوبيتر عن بايثون. الجدول 3.9: المعاملات المنطقية في مفكرة جوبيتر جوبيتر & | ~ بايثون and or not وزارة التعليم Ministry of Education 2024-1446 لتشاهد بعض الأمثلة على كائن المتسلسلة. # Return the elements of the series that satisfy the expression s>0 s[s > 0] 456789 10 1234555 11 6 12 7 13 8 Name: Numbers, dtype: int64 s[(s < -1) | ( s > 6) ] 1 -3 -2 12 13 7 8 Name: Numbers, dtype: int64 # Printing not (s<0) => (s>=0) s[(s<0)] 8 3456700 0 1 2 3 4 5 5 10 11 12 13 0123 5 6 7 8 الشكل 3.20 تصفية البيانات في الكائنات المتسلسلة 118

الدرس الثاني: مكتبات البايثون لتحليل البيانات

تصفية البيانات أو اختيار مجموعة بيانات جزئية

شرح تصفية البيانات أو اختيار مجموعة بيانات جزئية

تصفية البيانات

شرح تصفية البيانات

الفهرسة المنطقية

شرح الفهرسة المنطقية

المعاملات المنطقية في مفكرة

شرح المعاملات المنطقية في مفكرة

تصفية البيانات في الكائنات المتسلسلة

شرح تصفية البيانات في الكائنات المتسلسلة

الفهرسة مع أسلوب Loc و Indexing with Loc and Iloc Methods lloC تعد طريقتي iloc و loc ضمن الطرائق الأكثر شيوعًا للفهرسة في مكتبة بانداس. > loc: يختار الصفوف والأعمدة مع مسميات محددة (أسماء الأعمدة). > iloc: يختار الصفوف والأعمدة في مواضع الأعداد الصحيحة المحددة ( أرقام الصفوف والأعمدة). وإليك أدناه بعض الأمثلة على أستخدام كائن إطار البيانات بأسلوب ( )loc. في هذا المثال، ستستخدم طريقة ( )loc لطباعة الصفوف الخمسة الأولى من عمودين محددين. المرحلة' and 'المنطقة الإدارية' Choosing the first 5 rows of the columns # [[ المنطقة الإدارية, المرحلة 4:]data.loc الإدارية','المرحلة ' المنطقة الإدارية المرحلة 0 الرياض التعليم المستمر 1 الرياض المرحلة الإبتدائية 2 الرياض المرحلة الإبتدائية 3 الرياض المرحلة الإبتدائية 4 الرياض المرحلة الثانوية الشكل :3.21 طباعة الصفوف الخمسة الأولى من عمودين محددين في هذا المثال، ستقوم بطباعة صفوف إطار البيانات التي لها قيمة محددة في عمود معين. 0 1 2 3 4 # Print the rows of the dataframe that have a specific value in a specific column [([' الرياض', 'الباحة] isin.[المنطقة الإدارية ]data.loc[data المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين الرياض التعليم المستمر تعليم الكبار الرياض الرياض المرحلة الإبتدائية تحفيظ المرحلة الإبتدائية تربية خاصة الرياض الرياض المرحلة الثانوية المرحلة الإبتدائية نهاري تحفيظ 0 0 826 41 72 1040 10 123 190 1152 1843 34668 0 41 285 4807 الباحة المرحلة الثانوية نهاري 4808 الباحة المرحلة المتوسطة تحفيظ 4809 الباحة المرحلة المتوسطة تربية خاصة 4810 الباحة المرحلة المتوسطة نهاري 4811 الباحة رياض الأطفال نهاري 3 54 391 0 10 17 0 0 1 3 62 387 10 18 220 الشكل 3.22 طباعة صفوف إطار البيانات التي لها قيمة محددة في عمود محدد 1318 rows x 6 columns 119 وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

الفهرسة مع أسلوب

شرح الفهرسة مع أسلوب

طباعة صفوف إطار البيانات التي لها قيمة محددة في عمود محدد

شرح طباعة صفوف إطار البيانات التي لها قيمة محددة في عمود محدد

120 في هذا المثال، ستنشئ إطار بيانات جديدًا يسمى studentsReg . وسيحتوي إطار البيانات هذا على عمودين: عمود واحد للمنطقة وآخر لعدد الطلبة. 0 1 2 3 4 = [[ المنطقة الإدارية','مجموع الطلبة',:]data.loc # Create a dataframe called studentsReg with two columns Region and Number of Students studentsReg studentsReg المنطقة الإدارية مجموع الطلبة الرياض الرياض الرياض الرياض الرياض 826 1040 190 34668 285 5592 نجران 5593 نجران 5594 نجران 5595 نجران 5596 نجران 215 154 86 15 19 الشكل :3.23 إنشاء إطار بيانات جديد يسمى : 5597 rows x 2 columns studentsReg ،والآن ستستخدم طريقة ( )iloc لتحديد جميع عناصر الصف الأول من إطار البيانات. تذكر، الفهرسة في بايثون تبدأ من 0 # Print all the elements from the [row] of the table data.iloc[0] المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين الرياض التعليم المستمر تعليم الكبار 826 0 0 Name: 0, dtype: object الشكل 3.24 طباعة عناصر الصف الأول من إطار البيانات وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

إنشاء إطار بيانات جديد يسمى

شرح إنشاء إطار بيانات جديد يسمى

طباعة عناصر الصف الأول من إطار البيانات

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

121 وزارة التعليم Ministry of Education 2024-1446 وفي الأمثلة أدناه ستطبع عناصر محددة من إطار البيانات. # Print the element in the [row, col] position of the table data.iloc[0,3] 826 # Print the elements [start:end, start:end], the end is not included data.iloc[1:30:3] المنطقة الإدارية المرحلة نوع المدرسة 1 الرياض 2 الرياض المرحلة الإبتدائية تحفيظ المرحلة الإبتدائية تربية خاصة الشكل 3.25: طباعة عناصر محددة من إطار البيانات طباعة العناصر في الصفين الثاني والثالث، ولكن فقط من الأعمدة 0 و 1 و 2. وفي هذا المثال، ستستخدم حلقة for لطباعة الصفوف العشرة الأولى من العمود الأول من إطار بيانات studentsReg. for i in range (10): print(studentsReg.iloc[i][1]) 826 1040 190 34668 285 71 183 16018 548 63 الشكل 3.26 : العناصر المطبوعة لإطار البيانات

الدرس الثاني: مكتبات البايثون لتحليل البيانات

طباعة عناصر محددة من إطار البيانات

شرح طباعة عناصر محددة من إطار البيانات

العناصر المطبوعة لإطار البيانات

شرح العناصر المطبوعة لإطار البيانات

122 المجموعات والتجميع Grouping and Aggregating تسمى عملية وضع عناصر مجموعة البيانات في مجموعات بناءً على بعض المعايير وتطبيق الوظائف على هذه المجموعات بالتجميع في مكتبة بانداس؛ يتم تنفيذ هذا الإجراء باستخدام وظيفة (( )df.groupby). فعلى سبيل المثال، تخيل أن لديك مجموعة بيانات لأفضل هدا في كرة السلة في كل العصور. إذا كنت ترغب في معرفة عدد اللاعبين في مجموعة البيانات هذه لفريق معين، فيمكنك تجميع هذه البيانات حسب عمود "الفريق" وتطبيق دالة المجموع (( )sum) على البيانات المجمعة. دالة التجميع (Aggregate Function): دالة تقوم بحسابات رياضية مع قيم صفوف متعددة والتى يتم تجميعها معًا، ونتيجة لذلك ترجع قيمة موجزة واحدة. دوال التجميع الأكثر شيوعًا هي: sum و count و max ، وmin و mean . وظيفة Groupby Groupby Method باستخدام وظيفة ( )groupby يمكنك تقسيم بياناتك إلى مجموعات مختلفة ويمكن أن يساعدك هذا في إجراء حسابات لتحليل البيانات بشكل أفضل. الجدول 3.10 الدوال التجميعية الدالة sum max min mean لتشاهد بعض الأمثلة لوظيفة ( )df.groupby في إطار البيانات الجديد الذي أنشأته. في هذا المثال، ستقوم بتجميع الطلبة وفقًا لمنطقتهم وتحسب مجموع الطلبة في كل منطقة. المعنى ترجع مجموع قائمة الأرقام. ترجع العدد الأقصى لقائمة الأرقام. ترجع العدد الأدنى لقائمة الأرقام. ترجع متوسط قائمة الأرقام. # Create a dataframe with two rows, one being Regions and # the other one the total number of students of each region مجموع الطلبة المنطقة الإدارية الباحة الجوف 84464 151527 الحدود الشمالية 88482 الرياض الشرقية القصيم المدينة المنورة تبوك جازان حائل عسير مكة المكرمة نجران 1473236 909884 292996 443254 205673 354608 162609 480060 1421176 145397 ()sum.(المنطقة الإدارية (studentsReg.groupby دالة sum هي إحدى دوال التجميع التي تدعمها مكتبة بانداس الشكل 3.27: استخدام وظيفة ( ) de group لتجميع إطار البيانات بعمود واحد وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

المجموعات والتجميع

شرح المجموعات والتجميع

دالة التجميع

شرح دالة التجميع

وظيفة (groupby)

شرح وظيفة (groupby)

الدوال التجميعية

شرح الدوال التجميعية

استخدام وظيفة لتجميع إطار البيانات بعمود واحد

شرح استخدام وظيفة لتجميع إطار البيانات بعمود واحد

في هذا المثال، ستقوم بتجميع الطلبة وفقًا لمعيارين، منطقتهم ومرحلتهم الدراسية، وتحسب مجموع الطلبة في كل منطقة. مجموعة المنطقة الأولى # Group by two columns, first group the table by Region and # then by Level and for each group calculate the total NumOfStud ()sum. [مجموع الطلبة'] (as_index=False,[' المنطقة الإدارية'' المرحلة ]data.groupby 0 1 2 3 4 الباحة المنطقة الإدارية المرحلة التعليم المستمر مجموع الطلبة 553 الباحة المرحلة الإبتدائية 40495 الباحة المرحلة الثانوية 18386 الباحة المرحلة المتوسطة 19158 الباحة رياض الأطفال 5872 60 نجران 61 نجران 62 نجران 63 نجران 64 نجران التعليم المستمر المرحلة الإبتدائية 75462 المرحلة الثانوية المرحلة المتوسطة 31688 رياض الأطفال 1941 29097 7209 تم ضبط as_index=false ليكون الفهرس هو رقم الصف بدلا من أسماء الأعمدة. 65 rows x 3 columns مجموعة المنطقة الأخيرة الشكل 3.28: استخدام وظيفة ( )df.groupby لتجميع إطار البيانات في أعمدة متعددة وفي هذا المثال، ستقوم بإنشاء إطار بيانات جديد للمنطقة وعدد الطلبة وعدد المعلمين، ثم تجمع حسب المنطقة وتحسب مجموع الطلبة ومجموع المعلمين في كل منطقة. # Create a table with one column for Regions, one column for total #Students and one for total #Teachers studentsTeachers = [[ المنطقة الإدارية','مجموع الطلبة, مجموع المعلمين'] ,:]data.loc ()sum.[['مجموع الطلبة', 'مجموع المعلمين']] (' المنطقة الإدارية)studentsTeachers = studentsTeachers.groupby studentsTeachers مجموع الطلبة مجموع المعلمين المنطقة الإدارية الباحة الجوف الحدود الشمالية 88482 الرياض الشرقية القصيم المدينة المنورة تبوك جازان حائل عسير مكة المكرمة نجران 11092 12503 84464 151527 7156 114635 62982 1473236 909884 29971 292996 37617 16048 26487 443254 205673 354608 17289 46865 108309 162609 480060 1421176 10039 145397 الشكل :329 استخدام وظيفة ) (df.groupby وتحديد العمود المصنف كمؤشر للبيانات الجديدة 123 وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

استخدام وظيفة لتجميع إطار البيانات في أعمدة متعددة

شرح استخدام وظيفة لتجميع إطار البيانات في أعمدة متعددة

وتحديد العمود المصنف كمؤشر للبيانات الجديدة

شرح وتحديد العمود المصنف كمؤشر للبيانات الجديدة

124 تنظيف البيانات Data Cleaning من المهم جدًا أن تكون البيانات التي ستحللها صحيحة ، قبل البدء بتحليلها، وهذا يعني أنه يجب إزالة البيانات المكررة أو المشوّشة أو غير الدقيقة من مجموعة البيانات الخاصة بك، وإذا بقيت هذه البيانات كما . هي، فلن تكون نتائج تحليلها صحيحة. تنظيف البيانات :(Data Filtering) تنظيف البيانات هو عملية إصلاح أو إزالة للبيانات غير الصحيحة أو المشوّشة أو المنسقة بشكل غير صحيح أو المكررة أو غير المكتملة من مجموعة البيانات. إصلاح البيانات الجدول :3.11 وظائف تنظيف البيانات الوظيفة إصلاح الخلايا الفارغة إزالة البيانات المكررة الشكل :3.30 عملية تنظيف البيانات duplicated() value_counts() isnull() dropna() المعنى تُرجع قيمة منطقية لكل صف يحتوي على بيانات مكررة. تُرجع القيم الفريدة في مجموعة البيانات. قيمة منطقية لكل خلية فارغة من مجموعة البيانات. يحذف الصفوف الفارغة. البيانات المكررة Duplicated Data للتحقق مما إذا كانت مجموعة البيانات الخاصة بك تحتوي على بيانات مكررة ، فيمكنك أن تستخدم الوظيفة ( )df.duplicated. وتعطي هذه الوظيفة قيمة منطقية لكل صف حسب احتوائه على بيانات مكررة. صواب (True) للبيانات المكررة > خطأ :(False) للبيانات غير المكررة. سترى كيفية التعامل مع الصفوف المكررة في مجموعة البيانات. dup = data.duplicated () # To see how many duplicated rows there are in the table dup.value_counts() False True 5426 171 dtype: int64 الشكل 3.31 استخدام وظيفة ( )df.duplicated عدد النسخ المكررة وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

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

شرح تنظيف البيانات

عملية تنظيف البيانات

شرح عملية تنظيف البيانات

وظائف تنظيف البيانات

شرح وظائف تنظيف البيانات

البيانات المكررة

شرح البيانات المكررة

يوجد في مجموعة البيانات الخاصة بك 171 صفا مكررا. لحذف هذه الصفوف تستخدم وظيفة ( ) drop_duplicates ، حيث تحذف هذه الطريقة الصفوف المكررة. بعد حذف الصفوف المكررة، عليك تحديث مجموعة البيانات الخاصة بك للتحقق من إزالة الصفوف المكررة. الخلايا الفارغة Empty Cells # Now remove duplicated rows from the table data = data.drop_duplicates() dup = data.duplicated() dup.value_counts() 5426 False dtype: int64 لا يوجد صفوف مكررة. الشكل 3.32: استخدام وظيفة ()drop_duplicates للتحقق مما إذا كانت مجموعة البيانات الخاصة بك بها قيم مفقودة، يمكنك استخدام وظيفة ( )data isnull ، حيث تُرجع قيمة منطقية لكل خلية من مجموعة البيانات: صواب (True) للخلايا الفارغة خطأ (false) للخلايا الممتلئة سترى كيف يمكنك عد الخلايا الفارغة في مجموعة البيانات. في هذا المثال ستحسب الخلايا الفارغة لكل عمود. يمكنك رؤية عدد الخلايا الفارغة في كل عمود. # get the number of empty cells per column missing_values_count = data.isnull().sum () missing_values_count عدد الخلايا الفارغة في كل عمود. المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة 5 6 5 4 4 4 dtype: int64 مجموع المعلمين مجموع الإداريين الشكل 3.33 عد الخلايا الفارغة لكل عمود لحذف هذه الصفوف، تستخدم وظيفة ( dropna ، وستقوم بحذف الصفوف الفارغة. L بعد حذف الصفوف الفارغة، عليك تحديث مجموعة البيانات الخاصة بك للتحقق من إزالة هذه الصفوف. 125 وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

استخدام وظيفة drop_duplicates()

شرح استخدام وظيفة drop_duplicates()

الخلايا الفارغة

شرح الخلايا الفارغة

126 # Drop the missing values data = data.dropna () missing_values_count = data.isnull().sum ( ) missing_values_count المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين الشكل 3.34: حذف الصفوف الفارغة 0 0 0 0 dtype: int64 لا يوجد خلايا فارغة البيانات الخاطئة Wrong Data في بعض الأحيان قد تحتوي مجموعة البيانات الخاصة بك على بيانات خاطئة. فعلى سبيل المثال، في مجموعة البيانات الخاصة بك لا يمكنك الحصول على أرقام سالبة في عدد عمود الطلبة، وللتحقق مما إذا كانت مجموعة البيانات الخاصة بك تحتوي على بيانات خاطئة ، عليك كتابة مقطع برمجي مخصص على حسب مجموعة البيانات الخاصة بك. في هذا المثال ستتحقق من الأرقام السالبة في أعمدة مجموعة البيانات. يعتمد نوع البيانات التي يمكن اعتبارها خاطئة على مجموعة البيانات. عليك أن تقرر ماذا تفعل بهذه البيانات الخاطئة، فقد ترغب في حذفها أو استبدالها بقيم أخرى. # Check if there are negative elements in the columns that have numbers الشكل 3.35: التحقق من الأرقام السالبة ()nunique.[0 [ ' مجموع الطلبة ]data[data المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين 0 3 3 3 dtype: int64 ()nunique.[0 [مجموع المعلمين' ]data[data المرحلة المنطقة الإدارية نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين 0 3 3 3 dtype: int64 ()nunique.[10 [مجموع الإداريين ]data[data المنطقة الإدارية المرحلة نوع المدرسة مجموع الطلبة مجموع المعلمين مجموع الإداريين 0 0 0 3 3 3 dtype: int64 وزارة التعليم Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

حذف الصفوف الفارغة

شرح حذف الصفوف الفارغة

البيانات الخاطئة

شرح البيانات الخاطئة

1 2 تمرينات قارن بين كائن المتسلسلة وإطار البيانات. صف الفرق بين فهرسة البيانات وتصفيتها. 3 اشرح أهمية تنظيف البيانات قبل البدء بتحليلها. وزارة التع12 Ministry of Education 2024-1446

الدرس الثاني: مكتبات البايثون لتحليل البيانات

قارن بين كائن المتسلسلة وإطار البيانات

حل قارن بين كائن المتسلسلة وإطار البيانات

صف الفرق بين فهرسة البيانات وتصفيتها

حل صف الفرق بين فهرسة البيانات وتصفيتها

اشرح أهمية تنظيف البيانات قبل البدء بتحليلها

حل اشرح أهمية تنظيف البيانات قبل البدء بتحليلها

وزارة التعليم Ministry of Education 2024-1446 استورد المكتبة العشوائية واستخدم وظيفة ()random.randrange الطباعة رقم عشوائي بين 1 و 100. افتح مفكرة جديدة في جوبيتر، واستورد ملف إكسل بالاسم tourist-indicators.xlsx". > حمّل ورقة العمل "18" في إطار بيانات بانداس. > اطبع شكل إطار البيانات. > اطبع أنواع البيانات المخزنة في كل عمود من مجموعة البيانات. > اطبع أسماء أعمدة مجموعة البيانات. 4 5 128

الدرس الثاني: مكتبات البايثون لتحليل البيانات

استورد المكتبة العشوائية واستخدم وظيفة لطباعة رقم عشوائي بين 1 و 100

حل استورد المكتبة العشوائية واستخدم وظيفة لطباعة رقم عشوائي بين 1 و 100

افتح مفكرة جديدة في جوبيتر، واستورد ملف إكسل بالاسم

حل افتح مفكرة جديدة في جوبيتر، واستورد ملف إكسل بالاسم

129 وزارة التعليم Ministry of Education 2024-1446 استخدم مجموعة البيانات التي استوردتها في التمرين السابق وقم بالتالي: > أنشئ كائن متسلسلة جديد يحتوي على عدد السياح الوافدين من دول مجلس التعاون الخليجي. > أوجد الحد الأقصى والحد الأدنى لعدد السياح وفي أي صفوف من المتسلسلة تحدث هذه القيم؟ > تحقق من المتسلسلة لمعرفة القيم غير المناسبة والمفقودة، وإذا كان هناك أي منها ، قم بإزالة تلك الصفوف. > اطبع عدد السياح بالترتيب التنازلي لقيم أكبر من 500 افتح ورقة العمل "18" من الملف "tourist-indicators.xlsx" واقرأها في إطار بيانات جديد، ثم: > تفقد مجموعة البيانات بأكملها لمعرفة القيم المكررة والمفقودة. > اطبع عدد القيم المفقودة وعدد الصفوف المكررة. > قم بإزالة الصفوف المكررة والصفوف ذات القيم المفقودة. > قم بتجميع إطار البيانات بناء على الشهر، وحدد الشهر الذي استقطب أكبر عدد من الزوار لكل منطقة. 6 7

الدرس الثاني: مكتبات البايثون لتحليل البيانات

استخدم مجموعة البيانات التي استوردتها في التمرين السابق وقم بالتالي:

حل استخدم مجموعة البيانات التي استوردتها في التمرين السابق وقم بالتالي:

افتح ورقة العمل "18" وأقرأها بالكامل في إطار جديد ثم: تفقد مجموعة البيانات بأكملها لمعرفة القيم المكررة والمفقودة

حل افتح ورقة العمل "18" وأقرأها بالكامل في إطار جديد ثم: تفقد مجموعة البيانات بأكملها لمعرفة القيم المكررة والمفقودة
التعليقات
لم يتم إضافة أي تعليقات حتى الآن.

الرجاء تسجيل الدخول لكتابة تعليق