بايثون-25: مكتبة NumPy الجزء الرابع


السلام عليكم

سيتناول درس اليوم المواضيع التالية:

  • التلاعب بشكل المصفوفة (تغيير الشكل، دمج مصفوفتين، تجزئة مصفوفة واحدة الى عدة مصفوفات، النسخ وانواع العرض للمصفوفات).

  • مجموعة من الدوال العامة للتلاعب بالمصفوفات

نبدأ على بركة الله

تغيير شكل المصفوفة:

تستخدم دالة (shape) لعرض ابعاد المصفوفة (عدد الصفوف والاعمدة والابعاد الاخرى ان وجدت) وتستخدم كما في المثال ادناه:

1

والان لتحويل المصفوفة الى بعد واحد نستطيع استخدام دالة (ravel) وكما في المثال التالي:

2

الصورة اعلاه تبين عدة امثلة للدوال التالية:

transpose لعرض المصفوفة مع قلب الصفوف اعمدة والاعمدة صفوف

reshape لعرض شكل جديد للمصفوفة (بدون تغيير الشكل الاصلي)

resize لتغيير شكل المصفوفة الاصلية بشكل نهائي

ملاحظة: اذا استخدمنا ابعاد بأرقام سالبة فمعناها البدء بالحساب من اليمين الى اليسار (اي قلب الصفوف وقلب الاعمدة) وكما في الامثلة التالية:

3

دمج عدة مصفوفات سوية:

نستطيع استخدام الادوات التالية:

vstack((a,b))   وضع المصفوفة الثانية اسفل المصفوفة الاولى

hstack((a,b))  وضع المصفوفة الثانية الى يمين المصفوفة الاولى

column_stack((a,b)) يستخدم فقط للمصفوفات احادية البعد ويضع المصفوفة الثانية اسفل المصفوفة الاولى

row_stack((a,b)) يستخدم فقط للمصفوفات احادية البعد ويضع المصفوفة الثانية يمين المصفوفة الاولى

الامثلة التالية توضح ذلك:

4

بالنسبة للمصفوفات ذات الابعاد اكثر من بعدين:

hstack تقوم برزم المصفوفات بعد البعد الثاني

vstack ترزم المصفوفات بعد البعد الاول

تجزئة المصفوفة الواحدة الى اجزاء اصغر:

ويتم بأستخدام دالة hsplit وكما في الامثلة التالية:

5

نسخ المصفوفات ونسخ واجهات المصفوفات

حين نتلاعب بالمصفوفات فبعض الاحيان نقوم بنسخ المصفوفة الى مصفوفة اخرى وفي احيان اخرى يتم نسخ واجهة المصفوفة (نسخ سطحي) فقط وليست المصفوفة كعنصر كامل وفي الامثلة التالية تتضح الامور اكثر:

في حالة قول (a=b) فهذا لا يعني نسخ المصفوفة كعنصر او كبيانات وانما كواجهة فقط وكما في ادناه:

6

اذا اردنا ان ننسخ بيانات مصفوفة في مصفوفة اخرى بدون انشاء عنصر جديد نستخدم دالة view وكما في ادناه:

7

واخيراً لنسخ مصفوفة بشكل كامل الى مصفوفة اخرى نستخدم دالة (copy) وكما في الامثلة التالية:

8

طبعاً هذه فقط مجموعة بسيطة من الدوال الكثيرة التي توفرها مكتبة NumPy للتعامل مع المصفوفات للأغراض العلمية وللأطلاع على بقية الدوال يمكن زيارة الروابط التالية:

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

arangearraycopyemptyempty_likeeyefromfilefromfunctionidentitylinspacelogspacemgridogridonesones_likerzeroszeros_like

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

astypeatleast 1datleast 2datleast 3dmat

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

array splitcolumn stackconcatenatediagonaldsplitdstackhsplithstackitemnewaxisravelrepeatreshaperesizesqueezeswapaxestaketransposevsplitvstack

للسؤال عن حالة المصفوفات

allanynonzerowhere

لترتيب المصفوفة

argmaxargminargsortmaxminptpsearchsortedsort

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

choosecompresscumprodcumsuminnerfillimagprodputputmaskrealsum

احصائيات اولية لبيانات المصفوفات

covmeanstdvar

دوال الجبر الخطي للمصفوفات

crossdotoutersvdvdot

الى هنا ينتهي درس اليوم على امل ان يكون مفيداً للجميع

كالعادة لا تترددوا في ترك اسئلتكم واستفساراتكم في التعليقات وسنجيب عنها في اقرب فرصة

اذا اعجبكم المحتوى فنتمنى مشاركتنا نشره في كل مكان لتعميم الفائدة

تحياتي للجميع

اخوكم مصطفى صادق لطيف

 

One comment

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار وردبرس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.