logo

numpy.concatenate() في بايثون

الدالة concatenate() هي دالة من حزمة NumPy. تجمع هذه الوظيفة بشكل أساسي بين صفائف NumPy معًا. تُستخدم هذه الوظيفة بشكل أساسي لربط صفيفين أو أكثر من نفس الشكل على طول محور محدد. هناك الأمور التالية التي من الضروري أن نأخذها في الاعتبار:

  1. إن سلسلة NumPy () ليست مثل الانضمام إلى قاعدة البيانات التقليدية. إنه مثل تكديس صفائف NumPy.
  2. يمكن لهذه الوظيفة أن تعمل عموديًا وأفقيًا. هذا يعني أنه يمكننا ربط المصفوفات معًا أفقيًا أو رأسيًا.
numpy.concatenate()

عادةً ما تتم كتابة الدالة concatenate()‎ بالصيغة np.concatenate()، لكن يمكننا أيضًا كتابتها بالصيغة numpy.concatenate(). يعتمد ذلك على طريقة استيراد الحزمة numpy، إما استيراد numpy كـ np أو استيراد numpy، على التوالي.

بناء الجملة

 numpy.concatenate((a1, a2, ...), axis) 

حدود

1) (a1, a2, ...)

تحدد هذه المعلمة تسلسل المصفوفات. هنا، a1، a2، a3 ... هي المصفوفات التي لها نفس الشكل، باستثناء البعد المقابل للمحور.

مسج هذه النقرة

2) المحور: كثافة العمليات (اختياري)

تحدد هذه المعلمة المحور الذي سيتم من خلاله ربط المصفوفة. بشكل افتراضي، قيمته هي 0.

أشكال عادية

نتيجة

سيُرجع ndarray الذي يحتوي على عناصر المصفوفتين.

المثال 1: numpy.concatenate()

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y)) z 

في الكود أعلاه

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'x' باستخدام الدالة np.array().
  • بعد ذلك، قمنا بإنشاء مصفوفة أخرى 'y' باستخدام نفس الدالة np.array().
  • لقد أعلنا عن المتغير 'z' وقمنا بتعيين القيمة التي تم إرجاعها للدالة np.concatenate().
  • لقد مررنا المصفوفة 'x' و'y' في الدالة.
  • وأخيرًا، حاولنا طباعة قيمة 'z'.

في الإخراج، تظهر قيم كل من المصفوفات، أي 'x' و'y' حسب المحور = 0.

بايثون حفظ json إلى ملف

انتاج:

 array([[ 1, 2], [ 3, 4], [12, 30]]) 

المثال 2: numpy.concatenate() مع المحور=0

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=0) z 

انتاج:

 array([[ 1, 2], [ 3, 4], [12, 30]]) 

المثال 3: numpy.concatenate() مع المحور=1

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y.T), axis=1) z 

انتاج:

 array([[ 1, 2, 12], [ 3, 4, 30]]) 

في المثال أعلاه، تم استخدام '.T' لتحويل الصفوف إلى أعمدة والأعمدة إلى صفوف.

المثال 4: numpy.concatenate() مع المحور=None

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=None) z 

انتاج:

 array([ 1, 2, 3, 4, 12, 30]) 

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

المثال 5: np.ma.concatenate()

 import numpy as np x=np.ma.arange(3) y=np.arange(3,6) x[1]=np.ma.masked x y z1=np.concatenate([x,y]) z2=np.ma.concatenate([x,y]) z1 z2 

في الكود أعلاه

الاتصال بقاعدة بيانات جافا
  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفة 'x' باستخدام الدالة np.ma.arrange().
  • بعد ذلك، قمنا بإنشاء مصفوفة أخرى 'y' باستخدام نفس الدالة np.ma.arrange().
  • لقد أعلنا عن المتغير 'z1' وقمنا بتعيين القيمة التي تم إرجاعها للدالة np.concatenate().
  • لقد أعلنا عن المتغير 'z2' وقمنا بتعيين القيمة التي تم إرجاعها للدالة np.ma.concatenate().
  • وأخيرًا، حاولنا طباعة قيمة 'z1' و'z2'.

في المخرجات، حافظت قيم كل من المصفوفتين 'z1' و'z2' على إخفاء إدخال MaskedArray.

انتاج:

 masked_array(data=[0, --, 2], mask=[False, True, False], fill_value=999999) array([3, 4, 5]) masked_array(data=[0, 1, 2, 3, 4, 5], mask=False, fill_value=999999) masked_array(data=[0, --, 2, 3, 4, 5], mask=[False, True, False, False, False, False], fill_value=999999)