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

الانعكاس في المجموعات في NumPy

طرق تحويل المصفوفات الشائعة

دالةوصف
transposeتبديل أبعاد المصفوفة
ndarray.Tمثل self.transpose()
rollaxisتدوير المحور المحدد
swapaxesتبديل محورين من المصفوفة

numpy.transpose

يستخدم دالة numpy.transpose تبديل أبعاد المصفوفة، ويكون format كالتالي:

numpy.transpose(arr, axes)

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

arr: المصفوفة التي سيتم معالجتهاaxes: قائمة من الأعداد الصحيحة، تتناسب مع الأبعاد، عادةً يتم تبديل جميع الأبعاد.

import numpy as np
 
a = np.arange(12).reshape(3, 4)
 
print('المجموعة الأصلية: ')
print((a))
print('\n')
 
print(('تبديل المصفوفة:'))
print((np.transpose(a)))

النتيجة الصادرة كالتالي:

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

numpy.ndarray.T مشابه ل numpy.transpose:

import numpy as np
a = np.arange(12).reshape(3, 4)
 
print('المجموعة الأصلية: ')
print(a)
print('\n')
 
print(('تحويل المصفوفة:'))
print((a.T))

النتيجة الصادرة كالتالي:

المجموعة الأصلية:
[[0 1 2 3]
 [4 5 6 7]
 [8 9 10 11]
تحويل المصفوفة:
[[0 4 8]
 [1 5 9]
 [2 6 10]
 [3 7 11]

numpy.rollaxis

يستخدم دالة numpy.rollaxis تدوير المحور المحدد إلى موقف محدد، ويكون format كالتالي:

numpy.rollaxis(arr, axis, start)

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

arr: مصفوفةaxis: المحور الذي سيتم تدويره للخلف، لمحاور أخرى لن يتغير موقفهاstart: افتراضي هو صفر، يعني التدوير الكامل. سيتم التدوير إلى موقع محدد.

import numpy as np
 # أنشأ ndarray ثلاثي الأبعاد
a = np.arange(8).reshape(2,2,2)
 
print('المجموعة الأصلية: ')
print(a)
print('\n')
 # تحويل المحور 2 إلى المحور 0 (العرض إلى العمق)
 
print('استدعاء وظيفة rollaxis:')
print((np.rollaxis(a, 2)))
 # تحويل المحور 0 إلى المحور 1: (العرض إلى الارتفاع)
print('\n')
 
print('استدعاء وظيفة rollaxis:')
print(np.rollaxis(a, 2, 1))

النتيجة الصادرة كالتالي:

المجموعة الأصلية:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
استدعاء وظيفة rollaxis:
[[[0 2]
  [4 6]]
 [[1 3]
  [5 7]]]
استدعاء وظيفة rollaxis:
[[[0 2]
  [1 3]]
 [[4 6]
  [5 7]]]

numpy.swapaxes

وظيفة numpy.swapaxes تستخدم لتبادل محاور مجموعتين، وتكون صيغتها كالتالي:

numpy.swapaxes(arr, axis1, axis2)

arr: المجموعة المدخلةaxis1: عدد المحور الأول كعدد صحيحaxis2: عدد المحور الثاني كعدد صحيح

import numpy as np 
 # أنشأ ndarray ثلاثي الأبعاد
a = np.arange(8).reshape(2,2,2)
 
print('المجموعة الأصلية: ')
print(a)
print('\n')
 # الآن قم بتبادل المحاور 0 (اتجاه العمق) إلى المحاور 2 (اتجاه العرض)
 
print('عدد المجموعات بعد استدعاء وظيفة swapaxes: ')
print(np.swapaxes(a, 2, 0))

النتيجة الصادرة كالتالي:

المجموعة الأصلية:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
عدد المجموعات بعد استدعاء وظيفة swapaxes:
[[[0 4]
  [2 6]]
 [[1 5]
  [3 7]]]