NumPy طیف گستردهای از توابع را برای ایجاد آرایههای آماده با مقادیر از پیش تعریف شده ارائه میدهد که میتوان از آنها برای صرفهجویی در زمان و کد در هنگام کار با دادههای تکراری یا الگوبندی شده استفاده کرد.
در اینجا چند نمونه از توابع رایج برای تولید آرایههای آماده در NumPy آورده شده است:
۱. آرایههای صفر و یک:
np.zeros(shape)
: آرایهای با ابعاد مشخص و مقادیر تمام صفر ایجاد میکند.np.ones(shape)
: آرایهای با ابعاد مشخص و مقادیر تمام یک ایجاد میکند.
مثال:
import numpy as np
# ایجاد آرایه 3x3 از صفرها
zeros_array = np.zeros((۳, ۳))
print(zeros_array)
# ایجاد آرایه 2x4 از یک ها
ones_array = np.ones((۲, ۴))
print(ones_array)
۲. آرایههای پر شده:
np.full(shape, fill_value)
: آرایهای با ابعاد مشخص و مقادیر ثابتfill_value
ایجاد میکند.
مثال:
# ایجاد آرایه 5x5 با مقادیر ۳
filled_array = np.full((۵, ۵), ۳)
print(filled_array)
۳. آرایههای فاصلهای:
np.arange(start, stop, step)
: آرایهای از اعداد با مقادیر شروعstart
، انتهایstop
(اختیاری) و گامstep
ایجاد میکند.
مثال:
# ایجاد آرایه از اعداد ۰ تا ۹ (با گام ۱)
arange_array = np.arange(۰, ۱۰, ۱)
print(arange_array)
# ایجاد آرایه از اعداد ۱ تا ۱۰ (با گام ۲)
arange_array = np.arange(۱, ۱۰, ۲)
print(arange_array)
۴. آرایههای هویتی:
np.eye(n)
: آرایه هویتیn
درn
ایجاد میکند.
مثال:
# ایجاد آرایه هویتی 3x3
identity_array = np.eye(۳)
print(identity_array)
۵. آرایههای تصادفی:
np.random.rand(shape)
: آرایهای با ابعاد مشخص و مقادیر تصادفی یکنواخت بین ۰ و ۱ ایجاد میکند.np.random.randn(shape)
: آرایهای با ابعاد مشخص و مقادیر تصادفی طبق توزیع نرمال استاندارد ایجاد میکند.
مثال:
# ایجاد آرایه 2x2 از مقادیر تصادفی یکنواخت بین ۰ و ۱
random_array = np.random.rand(۲, ۲)
print(random_array)
# ایجاد آرایه 3x3 از مقادیر تصادفی طبق توزیع نرمال استاندارد
randn_array = np.random.randn(۳, ۳)
print(randn_array)
۶. توابع مشبک:
np.linspace(start, stop, num)
: آرایهای باnum
عنصر به طور یکنواخت بینstart
وstop
با در نظر گرفتنstop
ایجاد میکند.np.logspace(start, stop, num, base=10)
: آرایهای باnum
عنصر به طور لگاریتمی بینstart
وstop
با در نظر گرفتنstop
و با پایهbase
(پیشفرض ۱۰) ایجاد میکند.
مثال:
# ایجاد آرایه ۵ عنصری به طور یکنواخت بین ۰ و ۱۰
linspace_array = np.linspace(۰, ۱۰, ۵)
print(linspace_array)
# ایجاد آرایه ۵ عنصری به طور لگاریتمی بین ۱ و ۱۰۰
logspace_array = np.logspace(۱, ۱۰۰, ۵)
print(logspace_array)
علاوه بر توابع ذکر شده در بالا، NumPy توابع دیگری نیز برای تولید آرایههای آماده با الگوهای خاص، مانند مثلثات هیلبرت و ماتریسهای چرخشی، ارائه میدهد.
همچنین میتوانید از توابع NumPy برای ایجاد آرایههای سفارشی با استفاده از عملیات برداری و توابع تعریف شده توسط کاربر استفاده کنید.
مزایای استفاده از آرایههای آماده:
- کارایی: آرایههای آماده میتوانند به طور قابل توجهی سریعتر از حلقههای for برای ایجاد آرایهها با مقادیر تکراری یا الگوبندی شده باشند.
- خوانایی: کد شما را مختصرتر و خواناتر میکند، زیرا نیازی به نوشتن کد تکراری برای ایجاد آرایهها نیست.
- قابلیت نگهداری: اشکالزدایی و بهروزرسانی کد شما را آسانتر میکند، زیرا منطق ایجاد آرایه در یک مکان متمرکز است.
مثالهای اضافی:
- ایجاد آرایه مثلثات هیلبرت:
import numpy as np
n = ۵
hilbert_array = np.zeros((n, n), dtype=np.int)
for i in range(n):
for j in range(n):
hilbert_array[i, j] = (i + j) % n + ۱
print(hilbert_array)
- ایجاد ماتریس چرخش حول محور x:
import numpy as np
angle = np.radians(۴۵)
rotation_matrix = np.array([
[۱, ۰, ۰],
[۰, np.cos(angle), -np.sin(angle)],
[۰, np.sin(angle), np.cos(angle)]
])
print(rotation_matrix)
اینها تنها چند نمونه از کاربردهای مختلف تولید آرایههای آماده در NumPy هستند. با کمی خلاقیت، میتوانید از NumPy برای ایجاد انواع مختلف آرایهها برای نیازهای خاص خود استفاده کنید.