NumPy

15.2 NumPy

أهداف التعلم

في نهاية هذا القسم، ينبغي أن تكون قادرًا على:

  • وصف مكتبة NumPy.
  • إنشاء كائن مصفوفة NumPy.
  • اختيار دوال NumPy المناسبة لمعالجة مصفوفات البيانات الرقمية.

مكتبة NumPy

NumPy (Numerical Python) مكتبة Python توفر دعمًا للعمليات العددية الفعالة على المصفوفات الكبيرة متعددة الأبعاد، وتُشكّل ركيزةً أساسية لتحليل البيانات في Python. الاسم المستعار التقليدي لاستيراد NumPy هو np. بمعنى آخر، تُستورد NumPy بالشكل import numpy as np. توفر NumPy كائن الـ مصفوفة متعددة الأبعاد (ndarray)، الذي يسمح بإنشاء مصفوفة متعددة الأبعاد من أنواع بيانات متجانسة (أعمدة ذات نوع بيانات واحد) ومعالجة البيانات بكفاءة. يمكن لكائن الـ ndarray أن يحتوي على أي عدد من الأبعاد ويمكنه تخزين عناصر من أنواع بيانات رقمية متنوعة. لإنشاء كائن ndarray من NumPy، يمكن استخدام أحد الخيارات التالية:

  • إنشاء ndarray عن طريق تحويل قائمة (list) أو صَف (tuple) من Python باستخدام الدالّة np.array().
  • استخدام دوال مُضمَّنة مثل np.zeros() و np.ones() لإنشاء مصفوفة تحتوي على جميع الأصفار أو جميع الآحاد، على التوالي.
  • توليد مصفوفة بأرقام عشوائية باستخدام np.random.rand(n, m)، حيث n و m هما عدد الصفوف والأعمدة، على التوالي.
  • تحميل البيانات من ملف. مثال: np.genfromtxt('data.csv', delimiter=',').

نقطة تحقق

إنشاء كائن ndarray

مفاهيم تطبيقية

مكتبة NumPy

1.
أي مما يلي ينشئ كائن ndarray بصف واحد وعمودين؟
  1. np.array([2, 3])
  2. np.zeros(1, 2)
  3. np.zeros((1, 2))
2.
أي مما يلي هو نوع بيانات من NumPy؟
  1. ndarray
  2. list
  3. array
3.
ما هي فائدة استخدام كائن ndarray مقارنةً بالقائمة؟
  1. الكفاءة الحسابية
  2. الحوسبة الموجهة بالمصفوفات
  3. كفاءة الذاكرة
  4. جميع ما سبق

عمليات NumPy

بالإضافة إلى نوع البيانات ndarray، توفر عمليات NumPy أداءً مُحسّنًا للحسابات واسعة النطاق. تشمل الميزات الرئيسية لـ NumPy ما يلي:

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

نقطة تحقق

عمليات مصفوفات NumPy

مفاهيم تطبيقية

عمليات NumPy

4.
ما هو ناتج الشِفرة التالية؟
import numpy as np

arr = np.array([[1, 2], [3, 4]])
out = 2 * arr
print(out)
  1. [[2 4]
    [8 16]]
  2. [[2 4]
    [6 8]]
  3. [[1 2]
    [3 4]]
5.
أي مما يلي ينتج عنه ndarray بحجم 2 في 3؟
  1. import numpy as np
    arr = np.array(2, 3)
    
  2. import numpy as np
    arr = np.array([[1, 2], [1, 2], [1, 2]])
    
  3. import numpy as np
    arr = np.array([[1, 2], [1, 2], [1, 2]]).T
    
6.
تستقبل الدالّة np.multiply(arr1, arr2) كائنين من نوع ndarray هما arr1 و arr2 بنفس الأبعاد، وتُجري عملية ضرب عنصر بعنصر. ما هو ناتج الشِفرة التالية؟
import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[1, 0], [0, 1]])
out = np.multiply(arr1, arr2)
print(out)
  1. [[1 0]
    [0 4]]
    
  2. [[1 2]
    [3 4]]
    
  3. [[2 2]
    [3 5]]

استكشاف إضافي

يرجى الرجوع إلى دليل مستخدم NumPy لمزيد من المعلومات حول مكتبة NumPy.

ممارسة البرمجة باستخدام Google

استخدم مستند بيئة غوغل كولاب أدناه لممارسة وظائف NumPy لاستخلاص رؤى إحصائية من مجموعة بيانات.

مستند بيئة غوغل كولاب