English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

جمع مصفوفات NumPy

الوظائف الشائعة لربط المجموعات هي:

الوظيفةوصف
concatenateربط سلسلة من المجموعات على طول المحور الحالي
stackإضافة سلسلة من المجموعات على طول المحور الجديد.
hstackالسلسلة الأفقية من المجموعات (اتجاه الصف)
vstackالسلسلة العمودية من المجموعات (اتجاه الصف)
dstackdstack

جمع الأرقام بشكل عمودي،الارتفاع يساوي العمق

جمع الأرقام بشكل مركزي بالعقدة (numpy.concatenate)
الجمع يعني وضع محتويات عدد من المصفوفات في مصفوفة واحدة.

في SQL،نجمع الجداول بناءً على المفتاح،أما في NumPy،نجمع الأرقام بشكل مركزي بالعقدة.

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

شرح المعلمات:

numpy.concatenate((a1, a2, ...), axis)a1, a2, ...: مصفوفات من نفس النوع

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('المصفوفة الأولى:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('المصفوفة الثانية:')
print (b)
print ('\n')
 axis: العقدة التي يتم الجمع فيها عبر الأبعاد،الافتراضية 0
# يجب أن تكون أبعاد المصفوفتين متطابقة
print('جمع الأرقام بشكل عمودي بالعقدة 0:')
print ('\n')
print(np.concatenate((a, b)))
print('جمع الأرقام بشكل عمودي بالعقدة 1:')

نتيجة الخرج هي:

[[ 5 6 7 8 9]
[ 7 8 9 10 11]
print(np.concatenate((a, b), axis=1))
[[ 1 2 3 4 5]
[ 3 4 5 6 7]
[ 5 6 7 8 9]
[ 7 8 9 10 11]
جمع الأرقام بشكل عمودي بالعقدة 0:
[[1 2 3 4 5 5 6 7 8 9]]
[3 4 5 6 7 7 8 9 10 11]

جمع الأرقام بشكل عمودي بالعقدة 1:

استخدام وظيفة الجمع لجمع الأرقام (numpy.stack)

numpy.stack(arrays, axis)

شرح المعلمات:

سلسلة من الأرقام ذات الشكل نفسهaxis: العقدة في المصفوفة التي يتم جمع الأرقام فيها

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('المصفوفة الأولى:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('المصفوفة الثانية:')
print (b)
print ('\n')
print('جمع مصفوفتين بشكل عمودي بالعقدة 0:')
print(np.stack((a, b), 0))
print ('\n')
print('جمع مصفوفتين بشكل عمودي بالعقدة 1:')
print(np.stack((a, b), 1))

النتيجة كما يلي:

المصفوفة الأولى:
[[1 2 3 4 5]
[3 4 5 6 7]
المصفوفة الثانية:
[[ 5 6 7 8 9]
[ 7 8 9 10 11]
جمع مصفوفتين بشكل عمودي بالعقدة 0:
[[[1 2 3 4 5]]
[3 4 5 6 7]
[[ 5 6 7 8 9]
[7 8 9 10 11]
جمع مصفوفتين بشكل عمودي بالعقدة 1:
[[[1 2 3 4 5]]
[5 6 7 8 9]
[[3 4 5 6 7]]
[7 8 9 10 11]

جمع الأرقام بشكل أفقي (numpy.hstack)

numpy.hstack هو تنسيق من numpy.stack،يستخدم لجمع الأرقام بشكل أفقي لإنشاء مصفوفة.

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('المصفوفة الأولى:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('المصفوفة الثانية:')
print (b)
print ('\n')
print('جمع الأرقام بشكل أفقي:')
c = np.hstack((a, b))
print (c)
print ('\n')

النتيجة كما يلي:

المصفوفة الأولى:
[[1 2 3 4 5]
 [3 4 5 6 7]
المصفوفة الثانية:
[[ 5 6 7 8 9]
 [ 7 8 9 10 11]
جمع الأرقام بشكل أفقي:
[[1 2 3 4 5 5 6 7 8 9]]
 [3 4 5 6 7 7 8 9 10 11]

جمع الأرقام بشكل عمودي (numpy.vstack)

numpy.vstack هو تنسيق من numpy.stack،يستخدم لجمع الأرقام بشكل عمودي لإنشاء مصفوفة.

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
print ('المصفوفة الأولى:')
print (a)
print ('\n')
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
print ('المصفوفة الثانية:')
print (b)
print ('\n')
print ('التركيب العمودي:')
c = np.vstack((a,b))
print (c)

نتيجة الخرج هي:

المصفوفة الأولى:
[[1 2 3 4 5]
 [3 4 5 6 7]
المصفوفة الثانية:
[[ 5 6 7 8 9]
 [ 7 8 9 10 11]
التركيب العمودي:
[[ 1 2 3 4 5]
 [ 3 4 5 6 7]
 [ 5 6 7 8 9]
 [ 7 8 9 10 11]

طبقات عمودية (numpy.dstack)

يقدم NumPy وظيفة مساعدة: dstack() لصنع طبقات عمودية، وعمقها متساوي مع العلو.

import numpy as np
a = np.array([[1,2,3,4,5],[3,4,5,6,7]])
b = np.array([[5,6,7,8,9],[7,8,9,10,11]])
arr = np.dstack((a, b))
print(arr)

نتيجة الخرج هي:

[[[ 1 5]
  [ 2 6]
  [ 3 7]
  [ 4 8]
  [ 5 9]]
 [[ 3 7]
  [ 4 8]
  [ 5 9]
  [ 6 10]
  [ 7 11]]]