تولید آرایههای آماده در NumPy
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 برای ایجاد انواع مختلف آرایهها برای نیازهای خاص خود استفاده کنید.