الانتقال إلى المحتوى الرئيسي

كيفية الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد في بيثون: أمثلة وتفسيرات

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

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

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

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

  1. لماذا أحتاج إلى الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد في بيثون
  2. خطوات الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد في بيثون
  3. الخطوة 1: إنشاء اثنين من المصفوفات
  4. الخطوة 2: استخدام نومبي.تسلسل () وظيفة
  5. الخطوة 3: الجمع بين المصفوفات في ثنائي الأبعاد
  6. أمثلة على الجمع بين صفيفتين في صفائف ثنائية الأبعاد في بايثون
  7. مثال 1: الجمع بين صفيفتين أحادي البعد
  8. سؤال وجواب
  9. كيف يمكنني الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد?
  10. ما هو نوع البيانات التي يجب أن تحتوي عليها المصفوفات من أجل دمجها في صفائف ثنائية الأبعاد?
  11. هل من الممكن الجمع بين المصفوفات ذات الأطوال المختلفة في صفائف ثنائية الأبعاد?
  12. ما هي الوظائف الأخرى التي يمكن استخدامها لدمج المصفوفات في صفائف ثنائية الأبعاد?
  13. هل من الممكن الجمع بين أكثر من صفيفتين في صفيف ثنائي الأبعاد?

لماذا أحتاج إلى الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد في بيثون

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

1. حفظ بنية البيانات:

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

2. قابلية استخدام البيانات:

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

3. تقليل تعقيد الكود وتحسين قابلية القراءة:

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

4. راحة نقل البيانات:

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

بشكل عام ، يعد الجمع بين صفيفتين في مصفوفة ثنائية الأبعاد أداة برمجة مفيدة تسهل العمل مع البيانات وتزيد من كفاءة رمز البرنامج.

خطوات الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد في بيثون

لدمج صفيفتين في مصفوفة ثنائية الأبعاد في بايثون ، اتبع الخطوات التالية:

  1. إنشاء اثنين من صفائف منفصلة التي تريد الجمع. اسمهم ، على سبيل المثال ، أر1 و أر2.
  2. تحقق مما إذا كان كلا المصفوفين لهما نفس الطول للتأكد من إمكانية دمجهما. يمكنك استخدام وظيفة لين () للحصول على طول المصفوفة.
  3. قم بإنشاء مصفوفة جديدة ثنائية الأبعاد باستخدام وظيفة الرمز البريدي () ، والتي تأخذ صفيفتين وتجمع العناصر مع نفس الفهارس في مجموعات. على سبيل المثال ، قائمة جديدة = (الرمز البريدي(أر1 ، أر2)).
  4. إذا لزم الأمر ، قم بتحويل الصفوف إلى قوائم أو نوع بيانات آخر. على سبيل المثال ، نيو-آر = [قائمة (تي) لـ تي في نيو-آر].

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

مثال على الكود لدمج صفيفتين في مصفوفة ثنائية الأبعاد:

# الخطوة 1أر1 = [1 ، 2 ، 3]
أر2 = [4 ، 5 ، 6]
# الخطوة 2إذا لين (أر1) = = لين (أر2):
جديد = قائمة (الرمز البريدي (أر1 ، أر2))
# الخطوة 3جديد = [قائمة (ر) ل تي في جديد]
طباعة (جديد)

نتيجة لتنفيذ هذا الرمز ، سيتم إخراج النتيجة التالية:

[[1, 4], [2, 5], [3, 6]]

الآن لديك صفيف ثنائي الأبعاد يجمع بين عناصر من المصفوفين الأصليين.

الخطوة 1: إنشاء اثنين من المصفوفات

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

، إذا لم يكن مثبتا بالفعل:

!بيب تثبيت نومبي

وإنشاء اثنين من المصفوفات:

استيراد نومبي كما نب

أر 1 = نب.صفيف([1, 2, 3, 4, 5])

أر2 = نب.صفيف([6, 7, 8, 9, 10])

.

الآن لدينا اثنين من المصفوفات التي سنعمل معها في الخطوات التالية. يمكنك معرفة كيفية دمجها في مصفوفة ثنائية الأبعاد في الخطوة التالية.

الخطوة 2: استخدام نومبي.تسلسل () وظيفة

طريقة واحدة لدمج اثنين من المصفوفات في صفيف ثنائي الأبعاد في بيثون هو استخدام نومبي.تسلسل () وظيفة من مكتبة نومبي.

يسمح لك بدمج المصفوفات على طول محور محدد. فإنه يأخذ صفائف متعددة كما الحجج وإرجاع مجموعة مجتمعة.

على طول المحور الأفقي:

استيراد نومبي كما نب

أ = نب.صفيف([[1, 2], [3, 4]])

ب = نب.صفيف([[5 ، 6]])

النتيجة = نب.سلسلة ((أ ، ب) ، المحور=1)

طباعة (نتيجة)

ستكون نتيجة تنفيذ هذا الرمز:

صفيف([[1, 2, 5, 6],

[3, 4, 7, 8]])

نحصل على صفيف ثنائي الأبعاد مع الشكل (2 ، 4).

يجب أن تكون مساوية لـ 0:

استيراد نومبي كما نب

أ = نب.صفيف([[1, 2], [3, 4]])

ب = نب.صفيف([[5 ، 6]])

النتيجة = نب.سلسلة ((أ ، ب) ، المحور=0)

طباعة (نتيجة)

ستكون نتيجة تنفيذ هذا الرمز:

صفيف ([[1 ، 2],

[3, 4],

[5, 6]])

نحصل على صفيف ثنائي الأبعاد مع الشكل (3 ، 2).

هو وسيلة مريحة للجمع بين اثنين من المصفوفات في صفيف ثنائي الأبعاد في بيثون.

الخطوة 3: الجمع بين المصفوفات في ثنائي الأبعاد

.

يسمح لك بتغيير شكل المصفوفة دون تغيير البيانات نفسها. يمكننا تعيين شكل صفيف جديد عن طريق تحديد عدد الصفوف والأعمدة.

لتحويل مصفوفة أحادية البعد إلى مصفوفة ثنائية الأبعاد:

استيراد نومبي كما نب

# إنشاء مصفوفة أحادية البعد

أر 1 = نب.صفيف([1, 2, 3, 4, 5, 6])

# دعونا تحويلها إلى مجموعة ثنائية الأبعاد

أر2 = نب.إعادة تشكيل (آر 1 ، (2 ، 3))

طباعة (آر 2)

. حدد الشكل الجديد للمصفوفة (2 صفوف ، 3 أعمدة).

نتيجة تنفيذ التعليمات البرمجية:

[[1 2 3]

[4 5 6]]

ظلوا دون تغيير.

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

أمثلة على الجمع بين صفيفتين في صفائف ثنائية الأبعاد في بايثون

يعد الجمع بين صفيفتين في مصفوفة ثنائية الأبعاد مهمة شائعة في بايثون. يمكن أن يكون هذا مفيدا عندما تحتاج إلى دمج البيانات من صفيفتين في بنية بيانات واحدة لمزيد من المعالجة أو التحليل.

في بايثون ، هناك عدة طرق لدمج صفيفتين في مصفوفة ثنائية الأبعاد:

  1. باستخدام الرمز البريدي () وظيفة
  2. باستخدام عامل التشغيل +
  3. باستخدام نومبي.فستاك () وظيفة

Давайте рассмотрим каждый из этих способов более подробно.

1. Использование функции zip()

array1 = [1, 2, 3]

array2 = [4, 5, 6]

combined_array = list(zip(array1, array2))

print(combined_array)

Результат:

[(1, 4), (2, 5), (3, 6)]

2. Использование оператора +

import numpy as np

array1 = np.array([1, 2, 3])

array2 = np.array([4, 5, 6])

combined_array = np.array([array1, array2])

print(combined_array)

Результат:

[[1 2 3]

[4 5 6]]

3. Использование функции numpy.vstack()

استيراد نومبي كما نب

الصف 1 = نب.صفيف ([1 ، 2 ، 3])

2 = نب.صفيف([4 ، 5 ، 6])

= = = = = = = = .فستاك ((صفيف 1 ، صفيف 2))

طباعة (مجمعة)

النتيجة:

[[1 2 3]

[4 5 6]]

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

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

مثال 1: الجمع بين اثنين من المصفوفات أحادية البعد

أحد أبسط استخدامات الجمع بين صفائف أحادية البعد هو دمجها ببساطة في مصفوفة واحدة ثنائية الأبعاد.

لنفترض أن لدينا صفيفتين: مجموعة من الأرقام ومجموعة من السلاسل. نريد إنشاء مصفوفة ثنائية الأبعاد يحتوي فيها كل صف على عنصر من المصفوفة الأولى والعنصر المقابل من المصفوفة الثانية.

فيما يلي مثال على كود بايثون الذي يوضح كيفية دمج صفيفتين أحادي البعد في مصفوفة ثنائية الأبعاد:

نوم_أراي = [1, 2, 3, 4, 5]

['أ' ، 'ب' ، 'ج' ، 'د' ، 'ه']

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

اثنين_ديم_أراي = []

# الجمع بين اثنين من المصفوفات

لأني في النطاق (لين (نوم_أراي)):

اثنان.إلحاق ([نوم_أراي [أنا] ، ستر_أراي [أنا]])

# إخراج المصفوفة ثنائية الأبعاد الناتجة

طباعة (اثنين_ديم_أراي)

ينشئ الرمز أعلاه صفيفتين أحادي البعد نوم_أراي و ستر_أراي تحتوي على أرقام وسلاسل ، على التوالي. ثم يقوم بإنشاء مصفوفة فارغة ثنائية الأبعاد ثنائية الأبعاد. ثم يتم اجتياز كلا المصفوفين ، وفي كل تكرار ، يتم دمج العناصر الحالية من كلا المصفوفين في قائمة جديدة [نوم_أراي[أنا] ، ستر_أراي[أنا]] ، والتي يتم إضافتها بعد ذلك إلى المصفوفة ثنائية الأبعاد ثنائية الأبعاد.

بعد الانتهاء من الحلقة ، يتم عرض المصفوفة ثنائية الأبعاد المدمجة:

[[1 ، 'أ'] ، [2 ، 'ب'] ، [3 ، 'ج'] ، [4 ، 'د'] ، [5 ، 'ه']]

وهكذا ، نجحنا في الجمع بين صفيفتين أحادي البعد في صفيف ثنائي الأبعاد في بايثون.

سؤال وجواب

كيف يمكنني الجمع بين اثنين من المصفوفات في واحد ثنائي الأبعاد?

لدمج اثنين من المصفوفات في صفيف ثنائي الأبعاد في بيثون ، يمكنك استخدام نب.وظيفة العمود () من مكتبة نومبي. تأخذ هذه الوظيفة صفيفتين من نفس الطول وتجمع بينهما في عمود ، مما يؤدي إلى إنشاء مصفوفة ثنائية الأبعاد. على سبيل المثال:

ما هو نوع البيانات التي يجب أن تحتوي عليها المصفوفات من أجل دمجها في صفائف ثنائية الأبعاد?

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

هل من الممكن الجمع بين المصفوفات ذات الأطوال المختلفة في مصفوفة ثنائية الأبعاد?

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

ما هي الوظائف الأخرى التي يمكن استخدامها لدمج المصفوفات في صفائف ثنائية الأبعاد?

إلى جانب وظيفة نب.العمود () ، هناك وظائف أخرى يمكن استخدامها لدمج المصفوفات في صفائف ثنائية الأبعاد في بايثون. على سبيل المثال ، نب.فستاك () يجمع بين المصفوفات عموديا ، نب.هستاك () يجمع بين المصفوفات أفقيا. يمكنك أيضا استخدام نب.تسلسل () وظيفة لتحديد محور الاتحاد. على سبيل المثال:

هل من الممكن الجمع بين أكثر من صفيفتين في صفيف ثنائي الأبعاد?

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