إنشاء صفيف ثنائي الأبعاد Numpy

Ansha Sfyf Thnayy Alab Ad Numpy



يتم تعريف مصفوفة Numpy ثنائية الأبعاد من قائمة قوائم بيثون. تمامًا مثل مصفوفة Numpy ذات البعد الواحد ، يجب أن تكون جميع العناصر في المصفوفة من نوع واحد. إذا تم الإعلان عن مصفوفة NumPy بقوائم من أنواع متعددة ، فسيحدث نوع الإكراه وسيتم تحويل جميع القيم إلى نوع واحد. نوع الإكراه هو النوع الذي يتم فيه تحويل أنواع البيانات من واحد إلى آخر ، وهو ضمني أو تلقائي. في المصفوفات ثنائية الأبعاد ، يمكن أن تكون الأبعاد أكثر من اثنين.

بكلمات بسيطة ، يمكننا تعريف المصفوفة ثنائية الأبعاد كمصفوفة داخل مصفوفة أخرى. يبدأ فهرسها بـ '0' وينتهي بحجم المصفوفة '-1'. يمكن إنشاء المصفوفات n من المرات داخل المصفوفات. يمكن للمصفوفة ثنائية الأبعاد تغيير الحجم رأسياً وأفقياً في كلا الاتجاهين.

بناء الجملة

بناء الجملة للإعلان عن مصفوفة كما يلي:







اسم_مصفوفة = [ r_arr ] [ ج_ار ]

array_name هو اسم المصفوفة التي نريد إنشاءها. حيث أن 'r_arr' هي صفوف المصفوفة و 'c_arr' عمود المصفوفة. تسمح لنا هذه الصيغة بإنشاء موقع الذاكرة حيث سيتم تخزين المصفوفة ، أو يمكننا القول أنه يمكن حجز موقع الذاكرة للمصفوفة.



هناك طريقة أخرى للإعلان عن مصفوفة ثنائية الأبعاد:



اسم_مصفوفة = [ [ R1C1 و R1C2 و R1C3 و ... ] و [ R2C2 و R2C2 و R2C3 و ... ] و . . .. ]

في الصيغة أعلاه ، اسم المصفوفة هو اسم المصفوفة حيث 'R1C1' ، 'R2C1' ، ... n هي عناصر المصفوفة حيث يشير 'R' إلى الصفوف و 'c' يشير إلى الأعمدة. كما نرى في الأقواس المربعة الأولى ، فإن عدد الصفوف يتغير بينما الأعمدة هي نفسها. هذا لأنه ، داخل المصفوفة ، نقوم بتعريف الأعمدة باستخدام مصفوفات متعددة بينما يتم تحديد الصفوف داخل المصفوفات الداخلية.





مثال # 01: إنشاء مصفوفة ثنائية الأبعاد

دعونا نعطي مثالاً عمليًا لإنشاء مصفوفة ثنائية الأبعاد والحصول على فكرة أفضل عن كيفية إنشاء مصفوفة ثنائية الأبعاد. لإنشاء مصفوفة ثنائية الأبعاد ، سنقوم أولاً باستيراد مكتبة NumPy الخاصة بنا والتي ستمكننا من تنفيذ بعض الحزم التي يوفرها لنا NumPy لإنشاء المصفوفة. بعد ذلك ، سنهيئ متغيرًا يحمل المصفوفة ثنائية الأبعاد لإنشاء مصفوفة. سنمرر الدالة np.array () التي تتيح لنا إنشاء أي نوع من المصفوفات سواء كانت 1D أو 2D أو ما إلى ذلك. لهذه الوظيفة ، سنمرر مصفوفات متعددة داخل هذه المصفوفة مما يتيح لنا إنشاء مصفوفة ثنائية الأبعاد.

كما نرى في لقطة الشاشة أدناه ، في السطر الثاني ، مررنا ثلاث مصفوفات إلى هذه الوظيفة مما يعني أن لدينا ثلاثة صفوف وداخل هذه المصفوفات ، مررنا 6 عناصر لكل منها مما يعني وجود 6 أعمدة. هناك شيء واحد يجب ملاحظته ، وهو أننا نقوم دائمًا بتمرير العناصر بين أقواس مربعة مما يعني أننا نمرر عناصر المصفوفة ويمكننا أن نرى أننا مررنا عدة مصفوفات داخل المصفوفة الواحدة.



يستورد حبيبي كما على سبيل المثال

مجموعة مصفوفة = على سبيل المثال مجموعة مصفوفة ( [ [ 1 و اثنين و 3 و 4 و 5 و 6 ] و [ 4 و 5 و 6 و 7 و 8 و 9 ] و [ 7 و 8 و 9 و 10 و أحد عشر و 12 ] ] )

مطبعة ( مجموعة مصفوفة )

في النهاية ، قمنا بطباعة المصفوفة باستخدام تعليمة print. كما هو موضح في لقطة الشاشة أدناه ، يمكننا أن نرى المصفوفة المعروضة والتي تحتوي على 3 صفوف و 6 أعمدة.

مثال # 02: الوصول إلى القيم

عندما درسنا طريقة إنشاء مصفوفات ثنائية الأبعاد ، لا بد أن شيئًا واحدًا قد نزل في أذهاننا: كيف يمكننا الوصول إلى عناصر المصفوفة ثنائية الأبعاد؟ أثناء الوصول إلى عنصر المصفوفة ثنائية الأبعاد ليس مشكلة كبيرة. يمكّننا Numpy من معالجة عناصر المصفوفات بسطر بسيط من التعليمات البرمجية وهو:

مجموعة مصفوفة [ فهرس الصف ] [ فهرس العمود ]

المصفوفة هي اسم المصفوفة التي يجب أن نصل منها إلى البيانات أو نحضرها حيث يكون فهرس الصف هو موقع ذاكرة الصف. وفهرس العمود هو موقع العمود المراد الوصول إليه ، لنفترض أنه يتعين علينا الوصول إلى عنصر الفهرس '2' للصف وفهرس العنصر '0' في العمود.

كما نرى في الشكل أدناه ، قمنا أولاً باستيراد مكتبة NumPy للوصول إلى حزم NumPy. بعد ذلك ، أعلنا عن اسم المتغير 'المصفوفة' الذي يحمل المصفوفة ثنائية الأبعاد ثم مررناها القيم التي نريد تخزينها فيه. عرضنا أولاً المصفوفة كما هي التي بدأناها. بعد ذلك ، قمنا بتمرير المصفوفة مع الفهرس إلى عبارة print () الخاصة بنا والتي ستعرض المصفوفة بأكملها المخزنة في الفهرس '2'. في السطر التالي من التعليمات البرمجية ، مررنا مرة أخرى المصفوفة ذات الفهرين إلى جملة print (). الأول هو صف المصفوفة والثاني هو عمود المصفوفة '0' و '2'.

يستورد حبيبي كما على سبيل المثال

مجموعة مصفوفة = على سبيل المثال مجموعة مصفوفة ( [ [ 1 و اثنين و 3 و 4 و 5 و 6 ] و [ 4 و 5 و 6 و 7 و 8 و 9 ] و [ 7 و 8 و 9 و 10 و أحد عشر و 12 ] ] )

مطبعة ( 'عرض المصفوفة:' و مجموعة مصفوفة )

مطبعة ( 'عرض الصف الثاني:' و مجموعة مصفوفة [ اثنين ] )

مطبعة ( 'عرض عنصر الصف الأول والعمودين:' و مجموعة مصفوفة [ 0 ] [ اثنين ] )

يتم إرجاع الإخراج التالي أثناء تشغيل مترجم التعليمات البرمجية يطبع المصفوفة كما هي. ثم الصف الثاني حسب الكود. أخيرًا ، يقوم المترجم بإرجاع العنصر المخزن في الفهرس '0' للصفوف والفهرس '2' للعمود.

مثال # 03: تحديث القيم

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

لتحديث القيمة نستخدم:

مجموعة مصفوفة [ row_index ] [ العمود_الفهرس ] = [ القيم ]

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

كما نرى ، نقوم أولاً باستيراد مكتبة NumPy الخاصة بنا. ثم أعلن عن مصفوفة بحجم 3 × 6 ومرر قيمها الصحيحة. بعد ذلك ، مررنا القيمة '21' إلى المصفوفة مما يعني أننا نريد تخزين القيمة '21' في المصفوفة عند '0' من الصف و '2' في العمود مما يعني أننا نريد تخزينها في الفهرس من الصف الأول و 3 بحث وتطوير عمود المصفوفة. ثم اطبع كلا المصفوفتين ، الأولى وأيضًا العنصر الذي قمنا بتخزينه في المصفوفة.

يستورد حبيبي كما على سبيل المثال

مجموعة مصفوفة = على سبيل المثال مجموعة مصفوفة ( [ [ 1 و اثنين و 3 و 4 و 5 و 6 ] و [ 4 و 5 و 6 و 7 و 8 و 9 ] و [ 7 و 8 و 9 و 10 و أحد عشر و 12 ] ] )

مجموعة مصفوفة [ 0 ] [ اثنين ] = واحد وعشرين

مطبعة ( 'عرض المصفوفة:' و مجموعة مصفوفة )

مطبعة ( 'عرض عنصر الصف الأول والعمودين:' و مجموعة مصفوفة [ 0 ] [ اثنين ] )

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

استنتاج

في هذه المقالة ، شرحنا طرقًا مختلفة لإنشاء مصفوفات ثنائية الأبعاد وكيف يمكننا معالجتها باستخدام وظائف NumPy المضمنة. ناقشنا كيف يمكننا الوصول إلى العناصر داخل المصفوفة وتحديثها. يمكّننا Numpy من إنشاء مصفوفات متعددة الأبعاد ومعالجتها بسطر واحد من التعليمات البرمجية. تعد المصفوفات Numpy أكثر وضوحًا وفعالية من قوائم Python.