تدوین آرایههای NumPy
- صفحه قبلی تغییر شکل آرایههای NumPy
- صفحه بعدی ادغام آرایههای NumPy
تکرار آرایه
تکرار به معنای مرور یک به یک عناصر است.
هنگامی که با آرایههای چند بعدی در numpy کار میکنیم، میتوانیم از تکرارهای پایهای python برای انجام این کار استفاده کنیم.
اگر یک آرایه 1-D را تکرار کنیم، هر یک از عناصر را به ترتیب مرور میکند.
مثال
عناصر زیر آرایه یک بعدی را تکرار کنید:
import numpy as np arr = np.array([1, 2, 3]) برای x در arr: print(x)
تکرار آرایه 2-D
در آرایه 2-D، تمام ردیفها را مرور میکند.
مثال
عناصر زیر آرایه دو بعدی را تکرار کنید:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) برای x در arr: print(x)
اگر یک آرایه n-D را تکرار کنیم، آن به ترتیب ابعاد n-1 را مرور میکند.
برای بازگرداندن مقادیر واقعی و مقیاس، باید هر یک از ابعاد آرایه را تکرار کنیم.
مثال
هر یک از عناصر مقیاس آرایه 2-D را تکرار کنید:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) برای x در arr: برای y در x: print(y)
تکرار آرایه 3-D
در آرایه 3-D، تمام آرایههای 2-D را مرور میکند.
مثال
عناصر زیر 3-D آرایه را تکرار کنید:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) برای x در arr: print(x)
برای بازگرداندن مقادیر واقعی و مقیاس، باید هر یک از ابعاد آرایه را تکرار کنیم.
مثال
تکرار به مقیاس:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) برای x در arr: برای y در x: برای z در y: print(z)
با استفاده از nditer() آرایه را تکرار کنید
توابع nditer()
یک تابع کمکی است که میتوان از آن برای هر سطح از تکرارهای ابتدایی تا پیشرفته استفاده کرد. این تابع برخی از مشکلات پایهای ما در تکرارها را حل میکند و با مثالها آن را معرفی میکنیم.
تکرار هر یک از عناصر مقیاس
در برای
در تکرار، برای هر یک از مختصات آرایه، باید از n استفاده کنیم برای
تکرار ممکن است برای نوشتن آرایههای با ابعاد بالا دشوار باشد.
مثال
تعداد 3-D زیر را مرور کنید:
import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) برای x در np.nditer(arr): print(x)
تعدادهای مختلف دادهها را در یک آرایه تکرار کنیم
میتوانیم از op_dtypes
پارامترها را ارسال کنید و نوع داده مورد انتظار را تغییر دهید تا در طول تکرارها نوع داده عناصر را تغییر دهید.
NumPy نمیتواند نوع دادهی عناصر را به صورت مستقیم تغییر دهد (عناصر در داخل آرایه قرار دارند)، بنابراین به فضای اضافی نیاز دارد تا این عمل را انجام دهد، این فضای اضافی به عنوان buffer شناخته میشود، بنابراین nditer()
اگر آن را در flags=['buffered']
.
مثال
با استفاده از رشته به آرایه جستجو کنید:
import numpy as np arr = np.array([1, 2, 3]) برای x در np.nditer(arr, flags=['buffered'], op_dtypes=['S']): print(x)
با گامهای مختلف جستجو کنید
میتوانیم از فیلتر استفاده کنیم و سپس به جستجو ادامه دهیم.
مثال
با هر بار گشتوگذار از یک عنصر عددی 2D آرایه، یک عنصر را بپردازیم:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) برای x در np.nditer(arr[:, ::2]): print(x)
با استفاده از ndenumerate() برشمردهشدن انجام دهیم
برشمردهشدن به معنای ذکر به ترتیب شمارهای است.
گاهی اوقات، در حالی که در حال جستجو هستیم، به شمارهی مربوط به عنصر نیاز داریم، برای این موارد میتوان از ndenumerate()
روش.
مثال
عناصر 1D آرایه زیر را برشمردهایم:
import numpy as np arr = np.array([1, 2, 3]) برای idx, x در np.ndenumerate(arr): print(idx, x)
مثال
عناصر 2D آرایه زیر را برشمردهایم:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) برای idx, x در np.ndenumerate(arr): print(idx, x)
- صفحه قبلی تغییر شکل آرایههای NumPy
- صفحه بعدی ادغام آرایههای NumPy