بايثون-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 وسنكمل معكم في الاجزاء القادمة ان شاء الله فتابعوا معنا.

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

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

نُشر بواسطة mustafasadiq

I am a Computer Engineer from Iraq my goal of this site is to increase the Arabic scientific materials online both in Quantity and in Quality by making lessons (written and videos) about everything related to my fields of interests which includes: 1- Computer Science and Engineering: Academic and technical contents. 2- English Language: both normal life English and academic English requirements like TOEFL, GRE, IELTS, ...etc. 3- Computer Cultural aspects: in normal people life's as articles and magazines. 4- General Literature, Economical, Political, and social aspects: as Articles and Magazines. Wish you will enjoy surfing my blog and always expect more and wait for better :)

اترك رد

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

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

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

The Union Of Arabian Academics

اتحاد الاكاديميين العرب - موسسسة عربية علمية بحثية . تاسس عام 2018 . تتكون من الاخوة و الاخوات الباحثين و الاكاديميين و العلماء العرب.

Scott H Young

Mustafa Sadiq ICT Academy

GETTING PUBLISHED

Comments and advice for academic authors

فِي سِتَّةِ أَيَّامٍ

أشياء أكتبها وأخرى أكتب عنها

مطور

Mustafa Sadiq ICT Academy

مدونة المبرمج العراقي فلاح كاطع

تتحدث عن اهم مشاريعي في تقنية المعلومات و انظمة التحكم الالكتروني المايكروكونترولر الاردوينو

Manarlogy

كتب | معرفة | تخطيط | تجارب

مدونة NetworkSet

مدونة تختص بأمور الشبكات والأجهزة التى تدعمها

مدونة علي عبد الغني

مدونة علي عبد الغني للبرمجة

Sciware Podcast

Not just another podcast (All my writings are copyrighted)

محمد توفيق علاوي

Mohammed Tawfik Allawi

عالم البرمجة

Mustafa Sadiq ICT Academy

شبكات الكمبيوتر

Mustafa Sadiq ICT Academy

مدونة عيسى حمدان العلمية

مدونة علمية تهتم بكل ماهو جديد بعلوم الحاسب الآلي والشبكات

خدمات ويب

Mustafa Sadiq ICT Academy

SWAT 771

St. Mildred's Women Advancing Technology: A FIRST Robotics team

Discover

A daily selection of the best content published on WordPress, collected for you by humans who love to read.

Virtual IT Support

information technology blog by Abubaker Siddiq Lasania

How-To Geek

Mustafa Sadiq ICT Academy

Em Turner Chitty

English Language, English Writing, Scientific Editing, Music, and Travel

TechCrunch

Startup and Technology News

The Curious Programmer

Software, Gadgets, Books, and All Things Geek

خوارزمى العرب

Mustafa Sadiq ICT Academy

المهندس وسام فوزي

Mustafa Sadiq ICT Academy

DrugMonkey

biomedical research, just another job...

Austin's blog

I make things

The Admin Guy's Blog

A blog for the impatient System Administrators

dadorran

placeholder for code and links

Live to Write - Write to Live

We live to write and write to live ... professional writers talk about the craft and business of writing

The Union Of Arabian Academics

اتحاد الاكاديميين العرب - موسسسة عربية علمية بحثية . تاسس عام 2018 . تتكون من الاخوة و الاخوات الباحثين و الاكاديميين و العلماء العرب.

Scott H Young

Mustafa Sadiq ICT Academy

GETTING PUBLISHED

Comments and advice for academic authors

فِي سِتَّةِ أَيَّامٍ

أشياء أكتبها وأخرى أكتب عنها

مطور

Mustafa Sadiq ICT Academy

مدونة المبرمج العراقي فلاح كاطع

تتحدث عن اهم مشاريعي في تقنية المعلومات و انظمة التحكم الالكتروني المايكروكونترولر الاردوينو

Manarlogy

كتب | معرفة | تخطيط | تجارب

مدونة NetworkSet

مدونة تختص بأمور الشبكات والأجهزة التى تدعمها

مدونة علي عبد الغني

مدونة علي عبد الغني للبرمجة

Sciware Podcast

Not just another podcast (All my writings are copyrighted)

محمد توفيق علاوي

Mohammed Tawfik Allawi

عالم البرمجة

Mustafa Sadiq ICT Academy

شبكات الكمبيوتر

Mustafa Sadiq ICT Academy

مدونة عيسى حمدان العلمية

مدونة علمية تهتم بكل ماهو جديد بعلوم الحاسب الآلي والشبكات

خدمات ويب

Mustafa Sadiq ICT Academy

SWAT 771

St. Mildred's Women Advancing Technology: A FIRST Robotics team

Discover

A daily selection of the best content published on WordPress, collected for you by humans who love to read.

Virtual IT Support

information technology blog by Abubaker Siddiq Lasania

How-To Geek

Mustafa Sadiq ICT Academy

Em Turner Chitty

English Language, English Writing, Scientific Editing, Music, and Travel

TechCrunch

Startup and Technology News

The Curious Programmer

Software, Gadgets, Books, and All Things Geek

خوارزمى العرب

Mustafa Sadiq ICT Academy

المهندس وسام فوزي

Mustafa Sadiq ICT Academy

DrugMonkey

biomedical research, just another job...

Austin's blog

I make things

The Admin Guy's Blog

A blog for the impatient System Administrators

dadorran

placeholder for code and links

Live to Write - Write to Live

We live to write and write to live ... professional writers talk about the craft and business of writing

%d مدونون معجبون بهذه: