NumPy طیف گستردهای از توابع را برای ایجاد آرایههای آماده با مقادیر از پیش تعریف شده ارائه میدهد که میتوان از آنها برای صرفهجویی در زمان و کد در هنگام کار با دادههای تکراری یا الگوبندی شده استفاده کرد.
در اینجا چند نمونه از توابع رایج برای تولید آرایههای آماده در NumPy آورده شده است:
1. آرایههای صفر و یک:
np.zeros(shape)
: آرایهای با ابعاد مشخص و مقادیر تمام صفر ایجاد میکند.np.ones(shape)
: آرایهای با ابعاد مشخص و مقادیر تمام یک ایجاد میکند.
مثال:
import numpy as np
# ایجاد آرایه 3x3 از صفرها
zeros_array = np.zeros((3, 3))
print(zeros_array)
# ایجاد آرایه 2x4 از یک ها
ones_array = np.ones((2, 4))
print(ones_array)
2. آرایههای پر شده:
np.full(shape, fill_value)
: آرایهای با ابعاد مشخص و مقادیر ثابتfill_value
ایجاد میکند.
مثال:
# ایجاد آرایه 5x5 با مقادیر 3
filled_array = np.full((5, 5), 3)
print(filled_array)
3. آرایههای فاصلهای:
np.arange(start, stop, step)
: آرایهای از اعداد با مقادیر شروعstart
، انتهایstop
(اختیاری) و گامstep
ایجاد میکند.
مثال:
# ایجاد آرایه از اعداد 0 تا 9 (با گام 1)
arange_array = np.arange(0, 10, 1)
print(arange_array)
# ایجاد آرایه از اعداد 1 تا 10 (با گام 2)
arange_array = np.arange(1, 10, 2)
print(arange_array)
4. آرایههای هویتی:
np.eye(n)
: آرایه هویتیn
درn
ایجاد میکند.
مثال:
# ایجاد آرایه هویتی 3x3
identity_array = np.eye(3)
print(identity_array)
5. آرایههای تصادفی:
np.random.rand(shape)
: آرایهای با ابعاد مشخص و مقادیر تصادفی یکنواخت بین 0 و 1 ایجاد میکند.np.random.randn(shape)
: آرایهای با ابعاد مشخص و مقادیر تصادفی طبق توزیع نرمال استاندارد ایجاد میکند.
مثال:
# ایجاد آرایه 2x2 از مقادیر تصادفی یکنواخت بین 0 و 1
random_array = np.random.rand(2, 2)
print(random_array)
# ایجاد آرایه 3x3 از مقادیر تصادفی طبق توزیع نرمال استاندارد
randn_array = np.random.randn(3, 3)
print(randn_array)
6. توابع مشبک:
np.linspace(start, stop, num)
: آرایهای باnum
عنصر به طور یکنواخت بینstart
وstop
با در نظر گرفتنstop
ایجاد میکند.np.logspace(start, stop, num, base=10)
: آرایهای باnum
عنصر به طور لگاریتمی بینstart
وstop
با در نظر گرفتنstop
و با پایهbase
(پیشفرض 10) ایجاد میکند.
مثال:
# ایجاد آرایه 5 عنصری به طور یکنواخت بین 0 و 10
linspace_array = np.linspace(0, 10, 5)
print(linspace_array)
# ایجاد آرایه 5 عنصری به طور لگاریتمی بین 1 و 100
logspace_array = np.logspace(1, 100, 5)
print(logspace_array)
علاوه بر توابع ذکر شده در بالا، NumPy توابع دیگری نیز برای تولید آرایههای آماده با الگوهای خاص، مانند مثلثات هیلبرت و ماتریسهای چرخشی، ارائه میدهد.
همچنین میتوانید از توابع NumPy برای ایجاد آرایههای سفارشی با استفاده از عملیات برداری و توابع تعریف شده توسط کاربر استفاده کنید.
مزایای استفاده از آرایههای آماده:
- کارایی: آرایههای آماده میتوانند به طور قابل توجهی سریعتر از حلقههای for برای ایجاد آرایهها با مقادیر تکراری یا الگوبندی شده باشند.
- خوانایی: کد شما را مختصرتر و خواناتر میکند، زیرا نیازی به نوشتن کد تکراری برای ایجاد آرایهها نیست.
- قابلیت نگهداری: اشکالزدایی و بهروزرسانی کد شما را آسانتر میکند، زیرا منطق ایجاد آرایه در یک مکان متمرکز است.
مثالهای اضافی:
- ایجاد آرایه مثلثات هیلبرت:
import numpy as np
n = 5
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 + 1
print(hilbert_array)
- ایجاد ماتریس چرخش حول محور x:
import numpy as np
angle = np.radians(45)
rotation_matrix = np.array([
[1, 0, 0],
[0, np.cos(angle), -np.sin(angle)],
[0, np.sin(angle), np.cos(angle)]
])
print(rotation_matrix)
اینها تنها چند نمونه از کاربردهای مختلف تولید آرایههای آماده در NumPy هستند. با کمی خلاقیت، میتوانید از NumPy برای ایجاد انواع مختلف آرایهها برای نیازهای خاص خود استفاده کنید.