هنا بعض الأمثلة العملية والاحترافية لاستخدام Object-Oriented Programming (OOP) في Python:
1. مثال على تصميم الكائنات:
قد نرغب في إنشاء برنامج لإدارة مستودع للمنتجات. يمكننا استخدام OOP لتصميم الكائنات المناسبة. على سبيل المثال:
python، لدينا صف
class Product:
def init(self, name, price):
self.name = name
self.price = price
def display_info(self):
print(f"Product: {self.name}")
print(f"Price: ${self.price}")
class Warehouse:
def init(self):
self.products = []
def add_product(self, product):
self.products.append(product)
def display_products(self):
for product in self.products:
product.display_info()
هنا
Product الذي يمثل المنتجات، وصف Warehouse الذي يمثل المستودع. يمكننا إضافة منتجات جديدة إلى المستودع وعرضها.2. مثال على الوراثة:
قد نرغب في إنشاء نظام لإدارة موظفين في شركة. يمكننا استخدام الوراثة لتعريف صفوف مشتقة لأنواع محددة من الموظفين. على سبيل المثال:
pythonينا صف
class Employee:
def init(self, name, salary):
self.name = name
self.salary = salary
def display_info(self):
print(f"Name: {self.name}")
print(f"Salary: ${self.salary}")
class Manager(Employee):
def init(self, name, salary, department):
super().init(name, salary)
self.department = department
def display_info(self):
super().display_info()
print(f"Department: {self.department}")
هنا، لد
Employee الذي يمثل الموظفين العامين، وصف Manager الذي يمثل المديرين. يرث Manager خصائص Employee ويمكنه إضافة خصائص إضافية. يمكننا عرض معلومات الموظفين والمديرين باستخدام دوال display_info.مكتبة Requests هي مكتبة بسيطة وقوية في Python تستخدم لإرسال طلبات HTTP والتفاعل مع الموارد عبر الإنترنت. تتيح لك هذه المكتبة إجراء طلبات GET و POST و PUT و DELETE وأكثر من ذلك بكل سهولة.
للبدء، يجب عليك التأكد من أنك قمت بتثبيت مكتبة Requests في بيئتك الافتراضية باستخدام pip. يمكنك تثبيتها بكتابة الأمر التالي في واجهة سطر الأوامر:
pip install requests
بعد تثبيت المكتبة، يمكنك الآن استيرادها في برنامجك باستخدام الأمر التالي:
python
import requests
الآن، سنبدأ بتنفيذ بعض العمليات الأساسية باستخدام مكتبة Requests.
1. إرسال طلب GET:
لإرسال طلب GET، يمكنك استخدام دالة
get() وتمرير عنوان URL الذي ترغب في الوصول إليه. على سبيل المثال، لجلب صفحة ويب بسيطة، يمكنك كتابة الكود التالي:python
response = requests.get("https://www.example.com")
print(response.text)
سيتم إرجاع المحتوى النصي للصفحة المطلوبة بواسطة الاستجابة
response.2. إرسال طلب POST:
لإرسال طلب POST، يمكنك استخدام دالة
post() وتمرير عنوان URL والبيانات التي ترغب في إرسالها. على سبيل المثال، لإرسال طلب POST ببيانات محددة، يمكنك كتابة الكود التالي:python
data = {
"username": "example_user",
"password": "123456"
}
response = requests.post("https://www.example.com/login", data=data)
print(response.text)
ستقوم هذه العملية بإرسال بيانات المستخدم (اسم المستخدم وكلمة المرور) إلى عنوان URL المحدد وسيتم عرض الاستجابة النصية.
3.التعامل مع الاستجابة:
يمكنك القيام بالعديد من العمليات على الاستجابة التي تحصل عليها باستخدام مكتبة Requests. بعض العمليات الشائعة تشمل:
- الوصول إلى حالة الاستجابة (response status code).
- الوصول إلى رأس الاستجابة (response headers).
- الوصول إلى المحتوى النصي للاستجابة (response content).
هناك العديد من السيناريوهات التي يمكن استخدام Requests فيها، وفيما يلي بعض الأمثلة الشائعة:
1. استرداد بيانات API:
في هذا المثال، سنستخدم Requests لاسترداد بيانات من واجهة برمجة التطبيق (API) وعرضها. نفترض أن لدينا API يقدم بيانات المستخدمين ونرغب في جلب بيانات المستخدم الأول. إليك الكود:
python
import requests
# استدعاء ال API
response = requests.get('https://api.example.com/users')
# التحقق من نجاح الاستجابة
if response.status_code == 200:
data = response.json() # تحويل الاستجابة إلى JSON
first_user = data[0] # الحصول على المستخدم الأول
print(first_user)
else:
print('Failed to retrieve data from API')
في هذا المثال، نقوم بإرسال طلب GET إلى عنوان URL للاستجابة. ثم نتحقق من أن الاستجابة ناجحة باستخدام الحالة النقطية للرمز (status code) 200. إذا نجحت الاستجابة، نقوم بتحويلها إلى JSON واستخراج البيانات التي نحتاجها.
2. إرسال ملف عبر طلب POST:
في هذا المثال، سنستخدم Requests لإرسال ملف إلى خادم عن طريق طلب POST. سنقوم بفتح الملف وإرساله كجزء من البيانات في الطلب POST. إليك الكود:
python
import requests
# فتح الملف وقراءته كنص
file_path = 'path/to/file.pdf'
with open(file_path, 'rb') as file:
file_data = file.read()
# إعداد بيانات الطلب POST
url = 'https://api.example.com/upload'
data = {
'file': file_data
}
# إرسال الطلب POST
response = requests.post(url, files=data)
# التحقق من نجاح الاستجابة
if response.status_code == 200:
print('File uploaded successfully')
else:
print('Failed to upload file')
في هذا المثال، نقوم بفتح الملف المطلوب إرساله وقراءته كنص بنظام البايت (bytes). ثم نعيّن البيانات المطلوبة للطلب POST، حيث نضع الملف كجزء من البيانات. ثم نرسل الطلب POST ونتحقق من نجاح الاستجابة.
﷽
﴿إِنَّ اللَّهَ وَمَلَائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آَمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا﴾
اللهم صل وسلم على نبينا محمدﷺ
﴿إِنَّ اللَّهَ وَمَلَائِكَتَهُ يُصَلُّونَ عَلَى النَّبِيِّ يَا أَيُّهَا الَّذِينَ آَمَنُوا صَلُّوا عَلَيْهِ وَسَلِّمُوا تَسْلِيمًا﴾
اللهم صل وسلم على نبينا محمدﷺ
هذه أمثلة بسيطة لكيفية استخدام OOP في Python:
1. نظام إدارة الطلاب:
pythonثال، لدينا ثلاثة كلاسات:
class Student:
def init(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
class Course:
def init(self, name, teacher):
self.name = name
self.teacher = teacher
self.students = []
def add_student(self, student):
self.students.append(student)
class School:
def init(self):
self.students = []
self.courses = []
def add_student(self, student):
self.students.append(student)
def add_course(self, course):
self.courses.append(course)
في هذا الم
Student، Course، و School. الكلاس Student يمثل طالبًا ويحتوي على السمات المطلوبة مثل اسم الطالب والعمر والصف. الكلاس Course يمثل دورة دراسية ويحتوي على السمات مثل اسم الدورة ومعلمها وقائمة الطلاب المسجلين فيها. الكلاس School يمثل المدرسة نفسها ويحتوي على قوائم الطلاب المسجلين والدورات المتاحة ووظائف أخرى مثل إضافة طالب جديد أو تسجيله في دورة.2. تطبيق موقع التجارة الإلكترونية:
pythonلدينا أربعة كلاسات:
class Product:
def init(self, name, price, quantity):
self.name = name
self.price = price
self.quantity = quantity
class User:
def init(self, username, address):
self.username = username
self.address = address
class Cart:
def init(self):
self.products = []
def add_product(self, product):
self.products.append(product)
def remove_product(self, product):
self.products.remove(product)
class Order:
def init(self, user, products):
self.user = user
self.products = products
def process_order(self):
# Code to process the order and complete the transaction
pass
في هذا المثال،
Product، User، Cart، و Order. الكلاس Product يمثل منتجًا معينًا ويحتوي على السمات مثل اسم المنتج والسعر والكمية المتاحة. الكلاس User يمثل المستخدم ويحتوي على السمات مثل اسم المستخدم والعنوان. الكلاس
Cart يمثل سلة التسوق ويمكنه إضافة وإزالة المنتجات. الكلاس Order يمثل طلب المستخدم ويحتوي على معلومات المستخدم والمنتجات المطلوبة ويمكنه معالجة الطلب لإتمام العملية.المعلومات الغريبة والمثيرة عن لغة البرمجة Python:
1. تم تسمية اللغة على اسم مسلسل كوميدي بريطاني: تم اختيار اسم Python من قبل مبتكرها Guido van Rossum، وذلك في إشارة إلى حلقة من مسلسل "Monty Python's Flying Circus" الكوميدي الشهير.
2. يوجد فرع غير رسمي للغة بايثون يدعى "Pynthon": تم تحويل اسم اللغة إلى "Pynthon" في بعض الأحيان كمزحة. هذا الفرع الغير رسمي يهدف إلى تعديل السلوك الافتراضي لبعض الكلمات المفتاحية في اللغة.
3. بايثون يستخدم في الفضاء الخارجي: لغة بايثون تستخدم في العديد من المشاريع الفضائية، بما في ذلك وكالة ناسا. تستخدم لتحليل البيانات الفضائية وتطوير البرامج اللازمة للتحكم في المهمات الفضائية.
4. بيتكوين يعتمد على بايثون: تستخدم العديد من الشركات والمشاريع المرتبطة بالبيتكوين وتكنولوجيا البلوكشين لغة بايثون في تطوير برامجها. مثل البرامج المستخدمة في تعدين البيتكوين وتداوله.
5. بايثون يستخدم في تطوير الألعاب: بالإضافة إلى استخدامها في تطوير البرامج والتطبيقات، يستخدم لغة بايثون أيضًا في صناعة الألعاب. تستخدم بعض الألعاب الشهيرة مثل "Eve Online" و"World of Tanks" بايثون في جزء من تطويرها.
1. تم تسمية اللغة على اسم مسلسل كوميدي بريطاني: تم اختيار اسم Python من قبل مبتكرها Guido van Rossum، وذلك في إشارة إلى حلقة من مسلسل "Monty Python's Flying Circus" الكوميدي الشهير.
2. يوجد فرع غير رسمي للغة بايثون يدعى "Pynthon": تم تحويل اسم اللغة إلى "Pynthon" في بعض الأحيان كمزحة. هذا الفرع الغير رسمي يهدف إلى تعديل السلوك الافتراضي لبعض الكلمات المفتاحية في اللغة.
3. بايثون يستخدم في الفضاء الخارجي: لغة بايثون تستخدم في العديد من المشاريع الفضائية، بما في ذلك وكالة ناسا. تستخدم لتحليل البيانات الفضائية وتطوير البرامج اللازمة للتحكم في المهمات الفضائية.
4. بيتكوين يعتمد على بايثون: تستخدم العديد من الشركات والمشاريع المرتبطة بالبيتكوين وتكنولوجيا البلوكشين لغة بايثون في تطوير برامجها. مثل البرامج المستخدمة في تعدين البيتكوين وتداوله.
5. بايثون يستخدم في تطوير الألعاب: بالإضافة إلى استخدامها في تطوير البرامج والتطبيقات، يستخدم لغة بايثون أيضًا في صناعة الألعاب. تستخدم بعض الألعاب الشهيرة مثل "Eve Online" و"World of Tanks" بايثون في جزء من تطويرها.
import itertools
def find_longest_subsequence(arr):
subsets = []
longest_subsequence = []
# Generate all possible subsets of the input array
for r in range(1, len(arr) + 1):
subsets.extend(itertools.combinations(arr, r))
# Find the longest increasing subsequence among the subsets
for subset in subsets:
if list(subset) == sorted(subset):
if len(subset) > len(longest_subsequence):
longest_subsequence = subset
return longest_subsequence
# Test the function
array = [3, 10, 2, 1, 20]
result = find_longest_subsequence(array)
print("Longest increasing subsequence:", result)
دعنا نقوم بشرح الكود خطوة بخطوة بشكل أكثر تفصيلاً:
1. نبدأ بتعريف الدالة
2. نقوم بإنشاء قائمة فارغة
3. نقوم بإنشاء قائمة فارغة
4. نستخدم حلقة
5. داخل الحلقة، نقوم بتحويل الجمعية الحالية إلى قائمة باستخدام
6. نقوم بالتحقق مما إذا كانت الجمعية الحالية
7. إذا كانت الجمعية تشكل تسلسلًا متزايدًا، نقوم بالتحقق مما إذا كان طول
8. بعد الانتهاء من فحص جميع الجمعيات في
.
9. في الجزء الأخير من الكود، يتم استدعاء الدالة
هذا هو شرح مفصل للكود، يمكنك ملاحظة أن الكود يعتمد على استخدام الترتيبات والتحقق من التسلسل للعثور على أطول تسلسل فرعي متزايد.
def find_longest_subsequence(arr):
subsets = []
longest_subsequence = []
# Generate all possible subsets of the input array
for r in range(1, len(arr) + 1):
subsets.extend(itertools.combinations(arr, r))
# Find the longest increasing subsequence among the subsets
for subset in subsets:
if list(subset) == sorted(subset):
if len(subset) > len(longest_subsequence):
longest_subsequence = subset
return longest_subsequence
# Test the function
array = [3, 10, 2, 1, 20]
result = find_longest_subsequence(array)
print("Longest increasing subsequence:", result)
دعنا نقوم بشرح الكود خطوة بخطوة بشكل أكثر تفصيلاً:
1. نبدأ بتعريف الدالة
find_longest_subsequence ونمرر إليها قائمة الأرقام arr كمعامل.2. نقوم بإنشاء قائمة فارغة
subsets لتخزين جميع الجمعيات الممكنة من قائمة الأرقام arr. نستخدم دالة combinations الموجودة في مكتبة itertools لإنشاء هذه الجمعيات. تعمل هذه الدالة على إنشاء ترتيبات من الأرقام مع طول متغير يبدأ من 1 ويزداد تدريجيًا.3. نقوم بإنشاء قائمة فارغة
longest_subsequence لتخزين أطول تسلسل فرعي متزايد تم العثور عليه حتى الآن.4. نستخدم حلقة
for للتكرار عبر كل جمعية في قائمة subsets.5. داخل الحلقة، نقوم بتحويل الجمعية الحالية إلى قائمة باستخدام
list(subset) ونقوم بتخزينها في المتغير current_sequence.6. نقوم بالتحقق مما إذا كانت الجمعية الحالية
current_sequence تشكل تسلسلًا متزايدًا. نقوم بذلك عن طريق مقارنة القائمة المحولة list(subset) مع القائمة المرتبة sorted(subset)، إذا كانت هذه القائمتين متسلسلتين، فإن الجمعية تشكل تسلسل متزايد.7. إذا كانت الجمعية تشكل تسلسلًا متزايدًا، نقوم بالتحقق مما إذا كان طول
current_sequence أطول من طول longest_subsequence الحالي. إذا كان الطول الحالي أطول، فإننا نحدث longest_subsequence بالتسلسل الجديد.8. بعد الانتهاء من فحص جميع الجمعيات في
subsets، سيتم إرجاع longest_subsequence كنتيجة.
9. في الجزء الأخير من الكود، يتم استدعاء الدالة
find_longest_subsequence وتمرير قائمة الأرقام arr إليها، ثم يتم طباعة النتيجة على الشاشة باستخدام الدالة print.هذا هو شرح مفصل للكود، يمكنك ملاحظة أن الكود يعتمد على استخدام الترتيبات والتحقق من التسلسل للعثور على أطول تسلسل فرعي متزايد.
مثال لمشروع: تصنيف الأزياء باستخدام المنطق الضبابي
الوصف:
نرغب في تطوير نظام يساعدنا في تصنيف الأزياء بناءً على الشكل واللون والنمط. سنستخدم المنطق الضبابي للتعامل مع المتغيرات الغير دقيقة وتحديد الصفات المشتركة بين القطع الملابس المختلفة.
الخطوات:
1. تجهيز قاعدة القواعد (Rule Base):
- تحديد المتغيرات الضبابية المستخدمة، مثل "شكل القطعة" (Shape)، و"لون القطعة" (Color)، و"نمط القطعة" (Pattern).
- تحديد القواعد الضبابية التي تربط بين المتغيرات. مثال: إذا كان شكل القطعة مستديرة ولونها أحمر ونمطها مربعات، فإنها تنتمي إلى فئة "الفساتين".
2. تطبيق المنطق الضبابي (Fuzzy Logic):
- تحويل المتغيرات الدخل (شكل القطعة، لون القطعة، نمط القطعة) إلى أعضاء ضبابية باستخدام الدوال المنطقية الضبابية.
- تحديد وزن (قاعدة القواعد) لكل قاعدة ضبابية بناءً على المعرفة المسبقة.
- تحديد وزن (قاعدة القواعد) لكل ناتج ضبابي بناءً على المعرفة المسبقة.
3. تطبيق القواعد واستخراج النتائج:
- استخدام قاعدة القواعد لتحديد الصفات المشتركة والفئات المحتملة للقطعة الملابس المعطاة.
- استخراج النتائج النهائية بناءً على الاحتماليات المشتركة والأوزان المحسوبة.
4. اختبار وتقييم النظام
:
- استخدام مجموعة اختبار من الأزياء المعروفة لتقييم أداء النظام.
- تحسين القواعد والمعايير الضبابية بناءً على النتائج وتجارب التقييم.
ملاحظة: يمكن استخدام مكتبات المنطق الضبابي في Python مثل scikit-fuzzy لتنفيذ هذا المشروع. يمكنك استخدام الدوال والمفاهيم الضبابية للتعامل مع المتغيرات وتحديد القواعد وتطبيق الاستنتاج الضبابي.
الوصف:
نرغب في تطوير نظام يساعدنا في تصنيف الأزياء بناءً على الشكل واللون والنمط. سنستخدم المنطق الضبابي للتعامل مع المتغيرات الغير دقيقة وتحديد الصفات المشتركة بين القطع الملابس المختلفة.
الخطوات:
1. تجهيز قاعدة القواعد (Rule Base):
- تحديد المتغيرات الضبابية المستخدمة، مثل "شكل القطعة" (Shape)، و"لون القطعة" (Color)، و"نمط القطعة" (Pattern).
- تحديد القواعد الضبابية التي تربط بين المتغيرات. مثال: إذا كان شكل القطعة مستديرة ولونها أحمر ونمطها مربعات، فإنها تنتمي إلى فئة "الفساتين".
2. تطبيق المنطق الضبابي (Fuzzy Logic):
- تحويل المتغيرات الدخل (شكل القطعة، لون القطعة، نمط القطعة) إلى أعضاء ضبابية باستخدام الدوال المنطقية الضبابية.
- تحديد وزن (قاعدة القواعد) لكل قاعدة ضبابية بناءً على المعرفة المسبقة.
- تحديد وزن (قاعدة القواعد) لكل ناتج ضبابي بناءً على المعرفة المسبقة.
3. تطبيق القواعد واستخراج النتائج:
- استخدام قاعدة القواعد لتحديد الصفات المشتركة والفئات المحتملة للقطعة الملابس المعطاة.
- استخراج النتائج النهائية بناءً على الاحتماليات المشتركة والأوزان المحسوبة.
4. اختبار وتقييم النظام
:
- استخدام مجموعة اختبار من الأزياء المعروفة لتقييم أداء النظام.
- تحسين القواعد والمعايير الضبابية بناءً على النتائج وتجارب التقييم.
ملاحظة: يمكن استخدام مكتبات المنطق الضبابي في Python مثل scikit-fuzzy لتنفيذ هذا المشروع. يمكنك استخدام الدوال والمفاهيم الضبابية للتعامل مع المتغيرات وتحديد القواعد وتطبيق الاستنتاج الضبابي.
مثال لكود Python يستخدم المنطق الضبابي لتصنيف الأزياء:
هذا المثال يقوم بتعريف المتغيرات الضبابية المرتبطة بصفات الأزياء مثل الشكل واللون والنمط. ثم يتم تعريف القواعد الضبابية التي تحدد كيفية تصنيف الأزياء بناءً على قيم المتغيرات الضبابية. بعد ذلك يتم تطبيق المنطق الضبابي باستخدام القواعد وقيم المدخلات للحصول على نتيجة التصنيف النهائية. تتم طباعة النتيجة المصنّفة في النهاية.
python
import numpy as np
import skfuzzy as fuzz
# تحضير قاعدة القواعد
# تعريف المتغيرات الضبابية
shape = np.arange(0, 11, 1)
color = np.arange(0, 11, 1)
pattern = np.arange(0, 11, 1)
# تحديد الأعضاء الضبابية لكل متغير
shape_low = fuzz.trimf(shape, [0, 0, 5])
shape_medium = fuzz.trimf(shape, [0, 5, 10])
shape_high = fuzz.trimf(shape, [5, 10, 10])
color_red = fuzz.trimf(color, [0, 0, 5])
color_green = fuzz.trimf(color, [0, 5, 10])
color_blue = fuzz.trimf(color, [5, 10, 10])
pattern_stripes = fuzz.trimf(pattern, [0, 0, 5])
pattern_checkered = fuzz.trimf(pattern, [0, 5, 10])
pattern_plain = fuzz.trimf(pattern, [5, 10, 10])
# تحديد القواعد الضبابية
rule1 = fuzz.relation_min(shape_high, color_red, pattern_stripes)
rule2 = fuzz.relation_min(shape_low, color_green, pattern_checkered)
rule3 = fuzz.relation_min(shape_medium, color_blue, pattern_plain)
# تطبيق المنطق الضبابي
# تحديد قيمة الدخل
input_shape = 7
input_color = 4
input_pattern = 9
# استخراج القيم الضبابية للمدخلات
shape_level_low = fuzz.interp_membership(shape, shape_low, input_shape)
shape_level_medium = fuzz.interp_membership(shape, shape_medium, input_shape)
shape_level_high = fuzz.interp_membership(shape, shape_high, input_shape)
color_level_red = fuzz.interp_membership(color, color_red, input_color)
color_level_green = fuzz.interp_membership(color, color_green, input_color)
color_level_blue = fuzz.interp_membership(color, color_blue, input_color)
pattern_level_stripes = fuzz.interp_membership(pattern, pattern_stripes, input_pattern)
pattern_level_checkered = fuzz.interp_membership(pattern, pattern_checkered, input_pattern)
pattern_level_plain = fuzz.interp_membership(pattern, pattern_plain, input_pattern)
# تطبيق القواعد الضبابية وحساب النتائج
result1 = fuzz.relation_min(rule1, shape_level_high, color_level_red, pattern_level_stripes)
result2 = fuzz.relation_min(rule2, shape_level_low, color_level_green, pattern_level_checkered)
result3 = fuzz.relation_min(rule3, shape_level_medium, color_level_blue, pattern_level_plain)
# استخراج النتيجة النهائية
output = np.fmax(result1, np.fmax(result2, result3))
# حساب القيمة المركزية للنتيجة
defuzzified_output = fuzz.defuzz(shape, output, 'centroid')
# ط
باعة النتيجة
print("The classified shape level is", defuzzified_output)
هذا المثال يقوم بتعريف المتغيرات الضبابية المرتبطة بصفات الأزياء مثل الشكل واللون والنمط. ثم يتم تعريف القواعد الضبابية التي تحدد كيفية تصنيف الأزياء بناءً على قيم المتغيرات الضبابية. بعد ذلك يتم تطبيق المنطق الضبابي باستخدام القواعد وقيم المدخلات للحصول على نتيجة التصنيف النهائية. تتم طباعة النتيجة المصنّفة في النهاية.
👍1
مكتبة Pandas هي إحدى المكتبات الشهيرة في لغة Python وتستخدم بشكل واسع في مجال علوم البيانات وتحليل البيانات. تعتبر Pandas من أهم الأدوات لمهندسي البيانات والمحللين والباحثين الذين يعملون على معالجة البيانات وتحليلها.
لتوضيح فائدة Pandas، دعنا نتخيل أن لدينا مجموعة كبيرة من البيانات المنظمة في جدول، مثل جدول Excel، ونحتاج إلى استخلاص معلومات من هذه البيانات أو تحليلها. في هذا السياق، تأتي Pandas للمساعدة.
أحد أهم مميزات Pandas هو قدرتها على التعامل مع البيانات المنظمة في هيكل البيانات الشهير والمعروف باسم "DataFrame". يمكن اعتبار DataFrame مثل جدول يحتوي على صفوف وأعمدة. يمكن استيراد بيانات من مصادر مختلفة مثل ملفات CSV أو قواعد البيانات أو حتى مواقع الويب، ثم تحويل هذه البيانات إلى DataFrame باستخدام Pandas.
باستخدام Pandas، يمكنك القيام بمجموعة متنوعة من العمليات على البيانات، مثل تصفية البيانات بناءً على شروط معينة، أو فرز البيانات، أو حساب الإحصائيات المختلفة مثل المتوسط والانحراف المعياري والمجموع، أو إجراء عمليات رياضية بين الأعمدة المختلفة، والعديد من العمليات الأخرى التي تساعد في استكشاف وتحليل البيانات.
بالإضافة إلى ذلك، توفر Pandas أدوات قوية لمعالجة البيانات المفقودة (مثل ملء القيم المفقودة أو إزالة الصفوف التي تحتوي على قيم مفقودة) وتحويل البيانات بين تنسيقات مختلفة وإجراء عمليات تحويل وتحليل الوقت والتاريخ.
بفضل سهولة الاستخدام والوظائف القوية التي توفرها، أصبحت Pandas الاختيار الأول للعديد من المطورين والباحثين في مجال علوم البيانات. تساعدك Pandas على تحليل البيانات بشكل أسرع وأكثر فعالية، وتوفر لك أدوات قوية لاستكشاف البيانات واستخلاص النتائج المفيدة.
عندما تكتب الشفرة باستخدام Pandas، يمكنك أن تلاحظ سهولة القراءة والتفاعلية في كتابة الأوامر. وبالتالي، فإن التعلم واستخدام هذه المكتبة يمكن أن يكون ممتعًا ومثيرًا للاهتمام بالنسبة للأشخاص الذين يرغبون في استكشاف وفهم البيانات واكتشاف القصص المخبأة خلفها.
لتوضيح فائدة Pandas، دعنا نتخيل أن لدينا مجموعة كبيرة من البيانات المنظمة في جدول، مثل جدول Excel، ونحتاج إلى استخلاص معلومات من هذه البيانات أو تحليلها. في هذا السياق، تأتي Pandas للمساعدة.
أحد أهم مميزات Pandas هو قدرتها على التعامل مع البيانات المنظمة في هيكل البيانات الشهير والمعروف باسم "DataFrame". يمكن اعتبار DataFrame مثل جدول يحتوي على صفوف وأعمدة. يمكن استيراد بيانات من مصادر مختلفة مثل ملفات CSV أو قواعد البيانات أو حتى مواقع الويب، ثم تحويل هذه البيانات إلى DataFrame باستخدام Pandas.
باستخدام Pandas، يمكنك القيام بمجموعة متنوعة من العمليات على البيانات، مثل تصفية البيانات بناءً على شروط معينة، أو فرز البيانات، أو حساب الإحصائيات المختلفة مثل المتوسط والانحراف المعياري والمجموع، أو إجراء عمليات رياضية بين الأعمدة المختلفة، والعديد من العمليات الأخرى التي تساعد في استكشاف وتحليل البيانات.
بالإضافة إلى ذلك، توفر Pandas أدوات قوية لمعالجة البيانات المفقودة (مثل ملء القيم المفقودة أو إزالة الصفوف التي تحتوي على قيم مفقودة) وتحويل البيانات بين تنسيقات مختلفة وإجراء عمليات تحويل وتحليل الوقت والتاريخ.
بفضل سهولة الاستخدام والوظائف القوية التي توفرها، أصبحت Pandas الاختيار الأول للعديد من المطورين والباحثين في مجال علوم البيانات. تساعدك Pandas على تحليل البيانات بشكل أسرع وأكثر فعالية، وتوفر لك أدوات قوية لاستكشاف البيانات واستخلاص النتائج المفيدة.
عندما تكتب الشفرة باستخدام Pandas، يمكنك أن تلاحظ سهولة القراءة والتفاعلية في كتابة الأوامر. وبالتالي، فإن التعلم واستخدام هذه المكتبة يمكن أن يكون ممتعًا ومثيرًا للاهتمام بالنسبة للأشخاص الذين يرغبون في استكشاف وفهم البيانات واكتشاف القصص المخبأة خلفها.
دعنا نقدم مثالًا توضيحيًا يستخدم Pandas لتحليل بيانات الأفلام. سنستخدم بيانات IMDb التي تحتوي على معلومات حول الأفلام وتقييماتها.
أولاً، يجب علينا تحميل مكتبة Pandas واستيرادها في بيئة Python:
ثم، سنقوم بتحميل بيانات الأفلام وتحويلها إلى DataFrame باستخدام Pandas:
الآن، لنقم ببعض التحليلات البسيطة. سنقوم بطباعة أول 5 صفوف في البيانات باستخدام الأمر
ستظهر لك أول 5 صفوف من بيانات الأفلام.
لنفترض أننا نرغب في معرفة عدد الأفلام في كل فئة، يمكننا استخدام الأمر
سيتم طباعة عدد الأفلام في كل فئة.
يمكننا أيضًا حساب متوسط تقييم الأفلام باستخدام الأمر
ستظهر لك المتوسط العام لتقييمات الأفلام.
هذا مثال بسيط يستخدم Pandas لتحليل بيانات الأفلام. يمكنك استكشاف واستخدام مزيد من وظائف Pandas لتحليل البيانات بشكل أعمق وإجراء التحليلات المختلفة التي تهمك.
أولاً، يجب علينا تحميل مكتبة Pandas واستيرادها في بيئة Python:
python
import pandas as pd
ثم، سنقوم بتحميل بيانات الأفلام وتحويلها إلى DataFrame باستخدام Pandas:
python
data = pd.read_csv('imdb_movies.csv')
df = pd.DataFrame(data)
الآن، لنقم ببعض التحليلات البسيطة. سنقوم بطباعة أول 5 صفوف في البيانات باستخدام الأمر
head():python
print(df.head())
ستظهر لك أول 5 صفوف من بيانات الأفلام.
لنفترض أننا نرغب في معرفة عدد الأفلام في كل فئة، يمكننا استخدام الأمر
value_counts() وتطبيقه على عمود الفئة (genre):python
genre_counts = df['genre'].value_counts()
print(genre_counts)
سيتم طباعة عدد الأفلام في كل فئة.
يمكننا أيضًا حساب متوسط تقييم الأفلام باستخدام الأمر
mean() على عمود التقييم (avg_rating):python
avg_rating = df['avg_rating'].mean()
print("Average rating:", avg_rating)
ستظهر لك المتوسط العام لتقييمات الأفلام.
هذا مثال بسيط يستخدم Pandas لتحليل بيانات الأفلام. يمكنك استكشاف واستخدام مزيد من وظائف Pandas لتحليل البيانات بشكل أعمق وإجراء التحليلات المختلفة التي تهمك.
عملية الدمج والانضمام تتيح لك دمج جداول مختلفة معًا بناءً على عمود أو مؤشر مشترك. يوفر Pandas وظيفتين لتحقيق ذلك:
لنبدأ بعملية الدمج (merge):
1. استيراد مكتبة Pandas:
2. إنشاء الجداول الأيسر والأيمن التي ترغب في دمجها:
ستكون لدينا جدولين، left_table و right_table، وكل منهما يحتوي على عمود يسمى 'key' وعمود آخر.
3. استخدام وظيفة merge لدمج الجداول:
نستخدم
4. طباعة الجدول المدموج:
ستظهر لك الصفوف المدموجة بناءً على العمود المشترك 'key'.
الآن، دعنا نلقي نظرة على عملية الانضمام (join):
1. استيراد مكتبة Pandas:
2. إنشاء الجداول الأيسر والأيمن التي ترغب في الانضمام:
ستكون لدينا جدولين، left_table و right_table
، وكل منهما يحتوي على عمود أو مؤشر.
3. استخدام وظيفة join للانضمام بناءً على المؤشر:
نستخدم
4. طباعة الجدول المنضم:
ستظهر لك الصفوف المنضمة بناءً على المؤشر المحدد.
هذه هي الخطوات الأساسية لعمليتي الدمج والانضمام في Pandas.
merge() و join().لنبدأ بعملية الدمج (merge):
1. استيراد مكتبة Pandas:
python
import pandas as pd
2. إنشاء الجداول الأيسر والأيمن التي ترغب في دمجها:
python
left_table = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]})
right_table = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
'value2': [5, 6, 7, 8]})
ستكون لدينا جدولين، left_table و right_table، وكل منهما يحتوي على عمود يسمى 'key' وعمود آخر.
3. استخدام وظيفة merge لدمج الجداول:
python
merged_table = pd.merge(left_table, right_table, on='key', how='inner')
نستخدم
merge() ونمرر الجدول الأيسر والأيمن كمعلمتين ونحدد العمود المشترك بينهما بواسطة on='key'، ونحدد نوع الدمج المطلوب (مثل الدمج الداخلي) باستخدام how='inner'.4. طباعة الجدول المدموج:
python
print(merged_table)
ستظهر لك الصفوف المدموجة بناءً على العمود المشترك 'key'.
الآن، دعنا نلقي نظرة على عملية الانضمام (join):
1. استيراد مكتبة Pandas:
python
import pandas as pd
2. إنشاء الجداول الأيسر والأيمن التي ترغب في الانضمام:
python
left_table = pd.DataFrame({'key': ['A', 'B', 'C'],
'value1': [1, 2, 3]})
right_table = pd.DataFrame({'value2': [4, 5, 6]},
index=['A', 'B', 'C'])
ستكون لدينا جدولين، left_table و right_table
، وكل منهما يحتوي على عمود أو مؤشر.
3. استخدام وظيفة join للانضمام بناءً على المؤشر:
python
joined_table = left_table.join(right_table)
نستخدم
join() ونمرر الجدول الأيسر والجدول الأيمن، وسيتم الانضمام بناءً على المؤشر المحدد تلقائيًا.4. طباعة الجدول المنضم:
python
print(joined_table)
ستظهر لك الصفوف المنضمة بناءً على المؤشر المحدد.
هذه هي الخطوات الأساسية لعمليتي الدمج والانضمام في Pandas.
Shuffling rows يشير في Pandas إلى عملية تقليب أو تبديل ترتيب صفوف البيانات في الجدول. هذا يعني أنه يتم إعادة ترتيب الصفوف بشكل عشوائي بحيث يتغير ترتيبها الأصلي. هذا قد يكون مفيدًا في العديد من الحالات، مثل تجهيز البيانات قبل تقسيمها إلى مجموعات تدريب واختبار.
فيما يلي خطوات بسيطة لشرح كيفية عمل Shuffle Rows في Pandas:
1. استيراد مكتبة Pandas:
2. إنشاء الجدول الذي ترغب في تبديل صفوفه:
سنستخدم هذا الجدول كمثال لشرح Shuffle Rows.
3. تطبيق Shuffle Rows باستخدام دالة sample:
نستخدم دالة
4. طباعة الجدول المقلوب:
ستظهر لك البيانات بعد تبديل صفوفها بشكل عشوائي.
هذه هي الخطوات الأساسية لتنفيذ Shuffle Rows في Pandas باستخدام دالة sample(). يمكنك استخدام هذه الطريقة لتقليب ترتيب صفوف الجدول واستخدامها في تطبيقاتك المختلفة حسب الحاجة.
فيما يلي خطوات بسيطة لشرح كيفية عمل Shuffle Rows في Pandas:
1. استيراد مكتبة Pandas:
python
import pandas as pd
2. إنشاء الجدول الذي ترغب في تبديل صفوفه:
python
data = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]})
سنستخدم هذا الجدول كمثال لشرح Shuffle Rows.
3. تطبيق Shuffle Rows باستخدام دالة sample:
python
shuffled_data = data.sample(frac=1)
نستخدم دالة
sample() ونمرر معلمة frac=1 للحصول على عينة عشوائية من الصفوف في الجدول بنسبة 100٪. هذا يعني أن جميع الصفوف ستتم تبديلها بشكل عشوائي.4. طباعة الجدول المقلوب:
python
print(shuffled_data)
ستظهر لك البيانات بعد تبديل صفوفها بشكل عشوائي.
هذه هي الخطوات الأساسية لتنفيذ Shuffle Rows في Pandas باستخدام دالة sample(). يمكنك استخدام هذه الطريقة لتقليب ترتيب صفوف الجدول واستخدامها في تطبيقاتك المختلفة حسب الحاجة.
Run Time في Pandas يشير إلى وقت تنفيذ العمليات والأوامر على البيانات باستخدام مكتبة Pandas. قد يكون من المهم فهم وقت التشغيل لقياس كفاءة الأكواد وتحسين أداء تحليلات البيانات. فيما يلي خطوات بسيطة لقياس وقت التشغيل في Pandas:
1. استيراد مكتبة Pandas:
2. إنشاء الجدول أو قراءة البيانات من مصدر خارجي:
يتم استخدام هذا المثال لتحميل البيانات من ملف CSV، يمكنك استخدام الطريقة المناسبة لقراءة البيانات حسب نوع المصدر الخاص بك.
3. استخدام دالة المؤشر الزمني لقياس وقت التشغيل:
تبدأ هذه الخطوة بتحديد وقت البدء باستخدام
4. طباعة وقت التشغيل:
تقوم هذه الخطوة بطباعة وقت التشغيل الذي تم حسابه.
هذه هي الخطوات الأساسية لقياس وقت التشغيل في Pandas باستخدام وقت التشغيل الزمني. يمكنك تضمين هذه الخطوات في برنامجك الخاص وتنفيذها لقياس وقت تنفيذ العمليات والأوامر على البيانات في Pandas.
1. استيراد مكتبة Pandas:
python
import pandas as pd
2. إنشاء الجدول أو قراءة البيانات من مصدر خارجي:
python
data = pd.read_csv('data.csv')
يتم استخدام هذا المثال لتحميل البيانات من ملف CSV، يمكنك استخدام الطريقة المناسبة لقراءة البيانات حسب نوع المصدر الخاص بك.
3. استخدام دالة المؤشر الزمني لقياس وقت التشغيل:
python
import time
start_time = time.time()
# أكواد العمليات والأوامر على البيانات
end_time = time.time()
execution_time = end_time - start_time
print("وقت التشغيل:", execution_time, "ثانية")
تبدأ هذه الخطوة بتحديد وقت البدء باستخدام
start_time = time.time()، ثم تنفذ أكواد العمليات والأوامر على البيانات، وبعد الانتهاء يتم تحديد وقت الانتهاء باستخدام end_time = time.time() ويتم حساب وقت التشغيل بطرح end_time من start_time.4. طباعة وقت التشغيل:
python
print("وقت التشغيل:", execution_time, "ثانية")
تقوم هذه الخطوة بطباعة وقت التشغيل الذي تم حسابه.
هذه هي الخطوات الأساسية لقياس وقت التشغيل في Pandas باستخدام وقت التشغيل الزمني. يمكنك تضمين هذه الخطوات في برنامجك الخاص وتنفيذها لقياس وقت تنفيذ العمليات والأوامر على البيانات في Pandas.
Forwarded from Python Pro | برو بايثون