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


السلام عليكم

بعد ان تناولنا كيفية تنصيب حزمة اناكوندا وتعرفنا على واجهة جوبيتر في الدرسين الماضيين، نبدأ اليوم على بركة الله التعرف على مكتبة بايثون العلمية المسماة

NumPy

هذه المكتبة تختص بشكل رئيسي بالتعامل مع الكميات الكبيرة من البيانات (المصفوفات متعددة الابعادة بشكل عام) وتأتي منصبة تلقائياً مع حزمة اناكوندا ولكن ان كنت قد اخترت متابعة الكورس والعمل على منصة اخرى فيمكن تنصيب هذه المكتبة من الرابط التالي:

http://www.numpy.org/

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

from numpy import *

والان لنبدأ التعامل مع ادوات هذه المكتبة بالتفصيل:

العنصر الرئيسي الذي تتعامل معه ادوات هذه المكتبة هو المصفوفات المتجانسة التي تتكون عموماً من جداول تحتوي ارقام كلها لها نفس النوع (اعداد صحيحة او عشرية) ويتم فهرستها بأستخدام قيم موجية صحيحة وكل بعد من ابعاد هذه المصفوفات يسمى محور (axis) وعدد المحاور يسمى الرتبة (rank) للمصفوفة.

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

1

والان يجب التفريق بين المصفوفة المعرفة كمصفوفة (NumPy) والتي يكون نوعها (ndarray) وبين مصفوفات لغة بايثون الطبيعية التي تكون احادية البعد فقط والتي يكون نوعها (array) ومن ابرز الادوات لمكتبة مصفوفات ال (NumPy) هي:

1- (ndarray.ndim) وتستخدم لأعطاء عدد المحاور او الابعاد الخاص بمصفوفة ما وهو ايضاً يمثل رتبة (rank) المصفوفة وكما في المثال ادناه:

2

وهنا كما نرى قمنا بالبداية بأستيراد المكتبة (numPy) في السطر الاول ثم قمنا بتعريف مصفوفة اسمها (a) وتتكون من الارقام من صفر الى 14 بأستخدام دالة (arange) ثم قمنا بتحويلها الى مصفوفة تتكون من بعدين بحيث يحتوي كل سطر (البعد الاول) على 3 عناصر والبعد الثاني (الاعمدة) على 5 عناصر بأستخدام دالة (reshape).

بعد ذلك قمنا بكتابة (a) فقط ثم نقرنا على زر التنفيذ فتمت طباعة قيمة المتغير (a) وهذا يشبه دالة

print(a)

واخيراً قمنا بطلب معرفة عدد ابعاد المصفوفة (a) بأستخدام الاداة (ndim) فكانت النتيجة 2 اي انها تتكون من بعدين (صفوف واعمدة).

2- (ndarray.shape) وتستخدم لمعرفة عدد الصفوف والاعمدة وبقية الابعاد الاخرى للمصفوفة وفي حالتنا هذه سيكون الجواب 3 للصفوف و 5 للأعمدة وكما في ادناه:

3

3- (ndarray.size) وتستخدم لطباعة العدد الكلي لعناصر المصفوفة وهو عادة حاصل ضرب القيم الناتجة من الدالة السابقة وكما في المثال التالي:

4

4- (ndarray.dtype) وتستخدم لطباعة نوع المتغيرات او القيم في داخل المصفوفة وكما في المثال ادناه:

5

5- (ndarray.itemsize) ويستخدم لطباعة عدد البايتات التي يشغلها كل عنصر من عناصر المصفوفة وكمثال لو كان نوع المتغير (float64) فهذا يعني انه من نوع المتغيرات التي تشغل 64 بت والتي تساوي 8 بايت لأننا نعرف ان كل بايت يساوي 8 بت وهكذا وكما يبينه المثال ادناه:

6

6- (ndarray.data) ويستخدم هذا الايعاز لعرض موقع الذاكرة الخاص بحفظ قيم المصفوفة ولا يتم استخدامه عادة لأنه فقط مفيد لأدارة الذاكرة وليس للأستخدام الطبيعي وكما يوضحه المثال التالي:

7

الى هنا ينتهي الجزء الاول من شرح كيفية التعامل مع مكتبة بايثون الرقمية NumPy وسنكمل معكم في الاجزاء القادمة ان شاء الله فتابعوا معنا.

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

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

اترك رد

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

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

أنت تعلق بإستخدام حساب 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.