تنقل مجموعات NumPy
- Previous Page إعادة تشكيل مجموعات NumPy
- Next Page إلصاق مجموعات NumPy
تكرار المصفوفة
التكرار يعني تتبع العناصر بشكل تدريجي.
عندما نتعامل مع مصفوفات متعددة الأبعاد في numpy، يمكننا استخدام دورات python الأساسية للقيام بذلك.
إذا كنا نتكرر مصفوفة 1-D، سيقوم بتتبع كل عنصر بشكل تدريجي.
Example
تكرار العناصر في المصفوفة الواحدة الأبعاد التالية:
import numpy as np arr = np.array([1, 2, 3]) للفورات في arr: print(x)
تكرار المصفوفة الثنائية الأبعاد
في المصفوفة الثنائية الأبعاد، سيقوم بتتبع جميع الصفوف.
Example
تكرار العناصر في المصفوفة الثنائية الأبعاد التالية:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) للفورات في arr: print(x)
إذا كنا نتكرر مصفوفة n-D، سيقوم بتتبع مقياس n-1 بشكل تدريجي.
لإرجاع القيمة الفعلية، العنصر النسبي، يجب علينا تكرار كل مصفوفة في كل مقياس.
Example
تكرار كل عنصر نسبي في المصفوفة الثنائية الأبعاد:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) للفورات في arr: للفورات في x: print(y)
تكرار المصفوفة الثلاثية الأبعاد
في المصفوفة الثلاثية الأبعاد، سيقوم بتتبع جميع المصفوفات الثنائية الأبعاد.
Example
تكرار العناصر في المصفوفة الثلاثية الأبعاد التالية:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) للفورات في arr: print(x)
لإرجاع القيمة الفعلية، العنصر النسبي، يجب علينا تكرار كل مصفوفة في كل مقياس.
Example
تكرار إلى العنصر النسبي:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) للفورات في arr: للفورات في x: للفورات في y: print(z)
استخدام nditer() لتكرار المصفوفة
وظيفة nditer()
هي وظيفة مساعدة، يمكن استخدامها من التكرار البسيط إلى التكرار المتقدم. تتجاوز بعض المشاكل الأساسية التي نواجهها في التكرار، ونقوم بشرحها من خلال أمثلة.
تكرار كل عنصر في العنصر النسبي
في الأساس للفورات
في الدورة، نقوم بتكرار كل عنصر في المصفوفة، نحتاج إلى استخدام n للفورات
الدورات، قد تكون صعبة للكتابة بالنسبة لمصفوفات ذات أبعاد عالية.
Example
نقوم بتتبع النسق التالي من المصفوفة الثلاثية الأبعاد:
import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) للفورات في np.nditer(arr): print(x)
تكرار مصفوفات بيانات مختلفة
يمكننا استخدام op_dtypes
المعدل، ونقوم بتحديد نوع البيانات المتوقع، لتغيير نوع بيانات العنصر أثناء التكرار.
NumPy does not change the data type of elements in place (elements are located in the array), so it needs some other space to perform this operation, this additional space is called buffer, in order to nditer()
Enable it in the middle, we pass parameters flags=['buffered']
.
Example
Traverse the array in string form:
import numpy as np arr = np.array([1, 2, 3]) for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']) print(x)
Iterate with different step lengths
We can use filtering and then iterate.
Example
Skip 1 element every time a scalar element of the 2D array is traversed:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for x in np.nditer(arr[:, ::2]): print(x)
Use ndenumerate() for enumeration iteration
Enumeration refers to mentioning the serial number of things one by one.
Sometimes, when iterating, we need the corresponding index of the element, for these cases, we can use ndenumerate()
Method.
Example
Enumerate the elements of the following 1D array:
import numpy as np arr = np.array([1, 2, 3]) for idx, x in np.ndenumerate(arr): print(idx, x)
Example
Enumerate the elements of the following 2D array:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for idx, x in np.ndenumerate(arr): print(idx, x)
- Previous Page إعادة تشكيل مجموعات NumPy
- Next Page إلصاق مجموعات NumPy