علوم داده

10 روش برای ایجاد آرایه در NumPy

NumPy، کتابخانه‌ای قدرتمند برای محاسبات عددی در پایتون، به شما امکان می‌دهد انواع مختلفی از آرایه‌ها را با استفاده از روش‌های گوناگون ایجاد کنید. این راهنمای جامع 10 روش رایج برای تولید آرایه در NumPy را به شما معرفی می‌کند:

1. تابع np.array:

  • متداول‌ترین روش برای ایجاد آرایه
  • تبدیل لیست‌ها، تاپل‌ها و سایر مجموعه‌های داده پایتون به آرایه‌های NumPy
Python
import numpy as np

# ایجاد آرایه از لیست
array_from_list = np.array([1, 2, 3, 4, 5])

# ایجاد آرایه از تاپل
array_from_tuple = np.array((6, 7, 8, 9, 10))

2. تابع np.zeros:

  • ایجاد آرایه‌ای با ابعاد مشخص و مقادیر تمام صفر
Python
# ایجاد آرایه 3x3 از صفرها
zeros_array = np.zeros((3, 3))

3. تابع np.ones:

  • ایجاد آرایه‌ای با ابعاد مشخص و مقادیر تمام یک
Python
# ایجاد آرایه 2x4 از یک ها
ones_array = np.ones((2, 4))

4. تابع np.full:

  • ایجاد آرایه‌ای با ابعاد مشخص و مقادیر ثابت دلخواه
Python
# ایجاد آرایه 5x5 با مقادیر 3
filled_array = np.full((5, 5), 3)

5. تابع np.arange:

  • ایجاد آرایه‌ای از اعداد با مقادیر شروع، توقف (اختیاری) و گام دلخواه
Python
# ایجاد آرایه از اعداد 0 تا 9 (با گام 1)
arange_array = np.arange(0, 10, 1)

# ایجاد آرایه از اعداد 1 تا 10 (با گام 2)
arange_array = np.arange(1, 10, 2)

6. تابع np.eye:

  • ایجاد آرایه هویتی با ابعاد دلخواه
Python
# ایجاد آرایه هویتی 3x3
identity_array = np.eye(3)

7. توابع تصادفی NumPy:

  • np.random.rand(shape): آرایه‌ای با ابعاد مشخص و مقادیر تصادفی یکنواخت بین 0 و 1 ایجاد می‌کند.
  • np.random.randn(shape): آرایه‌ای با ابعاد مشخص و مقادیر تصادفی طبق توزیع نرمال استاندارد ایجاد می‌کند.
Python
# ایجاد آرایه 2x2 از مقادیر تصادفی یکنواخت بین 0 و 1
random_array = np.random.rand(2, 2)

# ایجاد آرایه 3x3 از مقادیر تصادفی طبق توزیع نرمال استاندارد
randn_array = np.random.randn(3, 3)

8. توابع مشبک NumPy:

  • np.linspace(start, stop, num): آرایه‌ای با num عنصر به طور یکنواخت بین start و stop با در نظر گرفتن stop ایجاد می‌کند.
  • np.logspace(start, stop, num, base=10): آرایه‌ای با num عنصر به طور لگاریتمی بین start و stop با در نظر گرفتن stop و با پایه base (پیش‌فرض 10) ایجاد می‌کند.
Python
# ایجاد آرایه 5 عنصری به طور یکنواخت بین 0 و 10
linspace_array = np.linspace(0, 10, 5)

# ایجاد آرایه 5 عنصری به طور لگاریتمی بین 1 و 100
logspace_array = np.logspace(1, 100, 5)

9. توابع تخصصی:

  • np.linspace برای ایجاد آرایه‌های یکنواخت با گام مشخص
  • np.logspace برای ایجاد آرایه‌های لگاریتمی با گام مشخص
  • np.meshgrid برای ایجاد شبکه‌ای از مقادیر دو بعدی
  • np.diag برای ایجاد آرایه قطر
  • np.fromfile برای بارگیری داده‌ها از فایل به عنوان آرایه
  • np.frombuffer برای بارگیری داده‌ها از بافر به عنوان آرایه
  • np.fromstring برای تبدیل رشته به آرایه

10. توابع تعریف شده توسط کاربر:

  • استفاده از np.array برای تبدیل خروجی توابع دلخواه به آرایه

مثال‌های اضافی:

  • ایجاد شبکه‌ای از مقادیر دو بعدی:
Python
import numpy as np

x = np.linspace(0, 10, 5)
y = np.linspace(0, 5, 3)

X, Y = np.meshgrid(x, y)
print(X)
print(Y)
  • ایجاد آرایه قطر:
Python
# ایجاد آرایه قطر 3x3
diagonal_array = np.diag([1, 2, 3])
print(diagonal_array)
  • بارگیری داده‌ها از فایل به عنوان آرایه:
Python
# بارگیری داده‌ها از فایل CSV به عنوان آرایه NumPy
data = np.fromfile('data.csv', delimiter=',')
print(data)
  • بارگیری داده‌ها از بافر به عنوان آرایه:
Python
# ایجاد آرایه از اعداد صحیح 8 بیتی
buffer = np.array([1, 2, 3, 4, 5], dtype=np.uint8)

# بارگیری داده‌ها از بافر به عنوان آرایه NumPy
array_from_buffer = np.frombuffer(buffer, dtype=np.float32)
print(array_from_buffer)
  • تبدیل رشته به آرایه:
Python
# تبدیل رشته به آرایه NumPy از اعداد صحیح
string = "1 2 3 4 5"
string_array = np.fromstring(string, dtype=np.int32, sep=' ')
print(string_array)

نکات:

  • انتخاب روش مناسب برای ایجاد آرایه به نیازها و نوع داده‌های شما بستگی دارد.
  • برای آشنایی با جزئیات بیشتر هر تابع، به مستندات NumPy مراجعه کنید.
  • از توابع NumPy برای دستکاری و آنالیز داده‌های خود به طور کارآمد استفاده کنید.

 

با استفاده از این 10 روش، می‌توانید به راحتی انواع مختلفی از آرایه‌ها را در NumPy برای نیازهای مختلف خود ایجاد کنید.

نمایش بیشتر

نوشته‌های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا