٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش تکرار آرایه NumPy

تکرار آرایه ها تکرار به معنی گذر از عناصر یکی پس از دیگری است. همانطور که با آرایه های چند بعدی در numpy سروکار داریم ، می توانیم این کار را با استفاده از forحلقه اصلی پایتون انجام دهیم. اگر روی…

محمد یوسفی

13 سپتامبر 2021

تکرار آرایه ها

تکرار به معنی گذر از عناصر یکی پس از دیگری است.

همانطور که با آرایه های چند بعدی در numpy سروکار داریم ، می توانیم این کار را با استفاده از forحلقه اصلی پایتون انجام دهیم.

اگر روی یک آرایه 1-D تکرار کنیم ، تک تک عناصر را طی می کند.

مثال

عناصر آرایه 1-D زیر را تکرار کنید:

import numpy as np

arr = np.array([1, 2, 3])

for x in arr:
  print(x)

تکرار آرایه های دو بعدی

در یک آرایه دو بعدی همه سطرها را طی می کند.

مثال

عناصر آرایه دو بعدی زیر را تکرار کنید:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

for x in arr:
  print(x)

اگر روی یک آرایه n -D تکرار کنیم ، بعد n -1 را یک به یک طی می کند.

برای بازگشت مقادیر واقعی ، مقیاس ها ، باید آرایه ها را در هر بعد تکرار کنیم.

مثال

هر عنصر مقیاس پذیر آرایه 2 بعدی را تکرار کنید:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

for x in arr:
  for y in x:
    print(y)

تکرار آرایه های سه بعدی

در یک آرایه سه بعدی ، تمام آرایه های دو بعدی را طی می کند.

مثال

عناصر آرایه سه بعدی زیر را تکرار کنید:

import numpy as np

arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

for x in arr:
  print(x)

برای بازگشت مقادیر واقعی ، مقیاس ها ، باید آرایه ها را در هر بعد تکرار کنیم.

مثال

تا مقیاس ها را تکرار کنید:

import numpy as np

arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

for x in arr:
  for y in x:
    for z in y:
      print(z)

تکرار آرایه ها با استفاده از nditer ()

این تابع nditer()یک تابع کمکی است که می تواند از تکرارهای اولیه تا بسیار پیشرفته استفاده شود. این برنامه برخی از مسائل اساسی را که در تکرار با آن روبرو هستیم حل می کند ، اجازه دهید با مثال آن را مرور کنیم.

تكرار بر روي هر عنصر اسكالر

در forحلقه های اصلی ، با تکرار هر مقیاس یک آرایه ، باید از n for حلقه استفاده کنیم که نوشتن آن برای آرایه هایی با ابعاد بسیار دشوار است.

مثال

از طریق آرایه سه بعدی زیر تکرار کنید:

import numpy as np

arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

for x in np.nditer(arr):
  print(x)

تکرار آرایه با انواع داده های مختلف

ما می توانیم از op_dtypesآرگومان استفاده کنیم و نوع داده مورد انتظار را برای تغییر نوع داده عناصر هنگام تکرار ارسال کنیم.

NumPy نوع داده عنصر را در محل (جایی که عنصر در آرایه قرار دارد) تغییر نمی دهد ، بنابراین برای انجام این عمل به فضای دیگری نیاز دارد ، آن فضای اضافی بافر (Buffer) نامیده می شود و به منظور فعال سازی آن در nditer()ما عبور می کنیم flags=['buffered'].

مثال

از طریق آرایه به عنوان یک رشته تکرار کنید:

import numpy as np

arr = np.array([1, 2, 3])

for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']):
  print(x)

تکرار با اندازه گام های مختلف

ما می توانیم از فیلترینگ و به دنبال تکرار استفاده کنیم.

مثال

هر عنصر مقیاس پذیر از آرایه دو بعدی را رد کنید 1 عنصر:

import numpy as np

arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

for x in np.nditer(arr[:, ::2]):
  print(x)

تکرار شمارش شده با استفاده از ndenumerate ()

منظور از شمارش ، ذکر تعداد دنباله برخی از موارد یک به یک است.

گاهی اوقات هنگام تکرار به شاخص مربوط به عنصر نیاز داریم ، این ndenumerate()روش می تواند برای موارد استفاده استفاده شود.

مثال

عناصر آرایه های 1 بعدی زیر را برشمارید:

import numpy as np

arr = np.array([1, 2, 3])

for idx, x in np.ndenumerate(arr):
  print(idx, x)

مثال

عناصر آرایه دو بعدی زیر را برشمارید:

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)

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها