English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
طرق تحويل المصفوفات الشائعة
دالة | وصف |
transpose | تبديل أبعاد المصفوفة |
ndarray.T | مثل self.transpose() |
rollaxis | تدوير المحور المحدد |
swapaxes | تبديل محورين من المصفوفة |
يستخدم دالة 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 تدوير المحور المحدد إلى موقف محدد، ويكون 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(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]]]