نم-بايNumPy هي احد مكتبات البايثون و هي تتميز بتنفيذ العمليات الحسابية على المصفوفات arrays.

تستخدم نم-باي NumPy للتعامل مع 3 اشكال رئيسية من المصفوفات وهي: ذات البعد الواحد 1D و ذات البعدين 2D وذات الثلاث ابعاد 3D.

تشبه مصفوفات نم-باي NumPy ​القوائم في لغة بايثون، لكن تتميز بانها تحتوي على العديد من الدوال functions و الطرق methods التي تمكن من تنفيذ العمليات الحسابية على المصفوفات بسرعة وكفاءة.

استيراد import المكتبة

قبل استخدام المكتبة يجب استيراد import المكتبة كالاتي:

تشغيل
import numpy as np
عادة يتم استعمال الاسم المستعار np للمكتبة اثناء كتابة البرامج.

انشاء المصفوفات

نستطيع تحويل قوائم بايثون lists الى ​مصفوفات numpy كالاتي:

تشغيل
 a = np.array([1,2,3])

_a = [5,6,7]
a = np.array(_a)

نستطيع ايضا انشاء بعض ​المصفوفات ذات القيم الاولية مثل انشاء مصفوفة ذات عدد عناصر معين و كل عناصرها اصفار:

a = np.zeros(3)

او مصفوفة ذات عدد عناصر معينة وكل قيمها واحد “1”:

a = np.ones(5)

او مصفوفة قيم عناصرها ارقام عشوائية:

a = np.random.random(5) 

تتميز مكتبة numpy بتوفير العديد من الدوال الحسابية التي نتسطيع اجراءها بسهولة و كفاءة بين المصفوفات وبعضها

العمليات بين المصفوفات

توفر numpy عدد من العمليات مثل الجمع والطرح وغيرها بين ​المصفوفات، لنفترض مصفوفتان بالقيم الاتية:

تشغيل
a = np.array([5,6,7])
b = np.array([2,2,2])
العمليةالمؤثرمثال
الجمع+a + b
الطرحa - b
الضرب*a * b
القسمة/a / b

الدوال الحسابية

نستطيع اجراء العديد من الدوال الحسابية على قيم المصفوفة، لنفترض مصفوفة بالقيم الاتية:

تشغيل
a = np.array([1,4,9])
الدالة الحسابيةالدالةمثال
الجذر التربيعي()np.sqrtnp.sqrt(a)
الاس()np.powernp.power(a,2)
الاس الطبيعي e()np.expnp.exp(a)
اللوغاريتم الطبيعي()np.lognp.log(a)

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

هي مجموعة من الدوال التي توفرها numpy مثل جمع قيم ​المصفوفة او ايجاد المتوسط الحسابي وغيرها، لنفترض قيم المصفوفة الاتية

تشغيل
a = np.array([2,7,8,6,1])
الدالة الحسابيةالدالةمثال
الجمعnp.sumnp.sum(a)
المتوسط الحسابيnp.meannp.mean(a)
اكبر قيمة np.maxnp.max(a)
اصغر قيمةnp.minnp.min(a)

التقطيع Slicing

التقطيع Slicing يقصد به استقطاع / الوصول الى اجزاء من ​المصفوفات بناءا على شروط ما، لنفترض مصفوفة بالقيم الاتية:

تشغيل
a = np.array([1, 4 , 6, 12, 3, 5])

نستطيع الوصول الى العنصر الثالث (رقم تسلسله 2، حيث يبدأ التسلسل من 0) في المصفوفة:

a[2]

استقطاع جزء من المصفوفة بناءا على رقم التسلسل:

a[1:3]
في المثال السابق نستقطع العناصر من العنصر الثاني (رقم التسلسل 1) الى العنصر الثالث، عند الاستقطاع (تسلسل البداية،تسلسل النهاية) لا يتم استقطاع عنصر تسلسل النهاية.

استقطاع جزء بداية من ​​تسلسل معين الى نهاية المصفوفة:

a[2:]

استقطاع جزء بداية من اول المصفوفة الى ​تسلسل معين:

a[:3]

استقطاع جزء من المصفوفة بناءا على شرط معين:

a[a<5]
في المثال السابق سوف يتم استقطاع العناصر التي قيمتها اصغر من 5.


guest
1 تعليق
الاقدم
الاحدث الاكثر تصويتا
Inline Feedbacks
اظهر كل التعليقات
حازم
حازم
2 years ago

جزاك الله خيرا
شرح مبسط ومفهوم