آرایه ها در NumPy
در این بخش به بررسی آرایه ها در NumPy می پردازیم، آرایهها در زبانهای برنامهنویسی به عنوان ساختارهای دادهای برای ذخیره مجموعهای از دادهها شناخته میشوند که در برنامهنویسی بهویژه در محاسبات علمی و پردازش دادهها کاربرد فراوانی دارند. یکی از ابزارهای قدرتمند برای کار با آرایهها در زبان Python، کتابخانه NumPy است. این کتابخانه که مخفف “Numerical Python” است، به طور خاص برای انجام عملیاتهای عددی و محاسباتی طراحی شده و یکی از بهترین گزینهها برای پردازش دادههای عددی، بهویژه در زمینههای یادگیری ماشین، علم داده، و شبیهسازیهای علمی به شمار میرود. NumPy علاوه بر فراهم کردن امکاناتی برای مدیریت آرایهها، سرعت بالایی در انجام عملیاتهای ریاضیاتی پیچیده را به کاربران خود ارائه میدهد.
در این مقاله، قصد داریم به بررسی آرایهها در NumPy پرداخته و نحوه استفاده از آنها در برنامهنویسی Python را توضیح دهیم. ابتدا با اصول و مفاهیم ابتدایی آرایهها و سپس با روشهای مختلف ایجاد و دستکاری آرایهها در NumPy آشنا خواهیم شد. این مقاله شامل مثالهایی از کدهای Python خواهد بود که به شما کمک میکند تا مفاهیم را بهتر درک کنید و بتوانید از NumPy به شکلی مؤثر و کارا در پروژههای خود استفاده کنید.
معرفی آرایهها در NumPy
در NumPy، آرایهها ساختارهای دادهای هستند که میتوانند انواع مختلف دادهها را در یک ابعاد مختلف ذخیره کنند. برخلاف لیستها در Python که میتوانند انواع مختلف دادهها را در خود جای دهند، آرایههای NumPy معمولاً حاوی دادههای همنوع هستند، این ویژگی باعث میشود تا عملیاتهای ریاضی و علمی روی آنها بسیار سریعتر و کارآمدتر از لیستهای Python انجام شود. آرایههای NumPy میتوانند یکبعدی، دوبعدی، سهبعدی و یا حتی ابعاد بالاتری داشته باشند، که این امکان را فراهم میکند که از آنها برای مدلسازی دادههای پیچیده استفاده کنیم.
ایجاد یک آرایه در NumPy
برای شروع، باید ابتدا کتابخانه NumPy را وارد برنامه خود کنیم. سپس با استفاده از تابع np.array()
میتوانیم آرایههای مختلف ایجاد کنیم. در زیر مثالی از ایجاد یک آرایه یکبعدی آورده شده است:
خروجی این کد به شکل زیر خواهد بود:
[1 2 3 4 5]
همچنین میتوانیم آرایههای دوبعدی و چندبعدی نیز ایجاد کنیم. در اینجا مثالی از یک آرایه دوبعدی آورده شده است:
خروجی این کد به صورت زیر خواهد بود:
[[1 2 3]
[4 5 6]]
این دو مثال ساده نشان میدهند که چطور میتوان آرایههایی با ابعاد مختلف ایجاد کرد.
ویژگیهای آرایههای NumPy
آرایههای NumPy علاوه بر ذخیره دادهها، ویژگیهای مختلفی دارند که دسترسی به اطلاعات مربوط به آنها را تسهیل میکند. برخی از ویژگیهای مهم آرایهها شامل ابعاد (ndim
)، شکل (shape
)، نوع دادهها (dtype
) و اندازه (size
) هستند. در زیر نحوه دسترسی به این ویژگیها آورده شده است:
خروجی این کد به صورت زیر خواهد بود:
ابعاد آرایه: 2
شکل آرایه: (2, 3)
نوع دادهها: int64
اندازه آرایه: 6
این ویژگیها به ما کمک میکنند تا اطلاعات دقیقی در مورد آرایهها بهدست آوریم.
عملیاتهای پایهای با آرایهها
یکی از ویژگیهای مهم NumPy امکان انجام عملیاتهای مختلف بر روی آرایهها است. این عملیاتها میتوانند به صورت عنصر به عنصر (element-wise) یا روی آرایههای چندبعدی انجام شوند. در این بخش، به بررسی برخی از عملیاتهای پایهای خواهیم پرداخت.
جمع و تفریق
عملیات جمع و تفریق میتواند بر روی آرایهها به صورت عنصر به عنصر انجام شود. در اینجا مثالی از جمع دو آرایه آورده شده است:
خروجی کد به صورت زیر خواهد بود:
[5 7 9]
ضرب و تقسیم
عملیات ضرب و تقسیم نیز میتواند مشابه جمع و تفریق روی آرایهها انجام شود. در زیر مثالی از ضرب دو آرایه آورده شده است:
# ضرب دو آرایه
product_arr = arr1 * arr2
print(product_arr)
خروجی این کد به شکل زیر خواهد بود:
[4 10 18]
عملیاتهای ریاضی دیگر
به غیر از جمع و ضرب، NumPy ابزارهایی برای انجام سایر عملیاتهای ریاضی نیز فراهم کرده است. برای مثال، میتوانیم میانگین یا انحراف معیار آرایهها را محاسبه کنیم:
# محاسبه میانگین
mean_arr = np.mean(arr1)
print(f"میانگین آرایه: {mean_arr}")
خروجی:
میانگین آرایه: 2.0
این مثالها به شما کمک میکنند تا نحوه انجام عملیاتهای مختلف با آرایهها را بهتر درک کنید.
ایجاد آرایههای خاص
گاهی اوقات نیاز داریم که آرایههایی با ویژگیهای خاص ایجاد کنیم. به عنوان مثال، ایجاد آرایههای صفر و یک، آرایههایی با اعداد متوالی یا آرایههایی با اعداد تصادفی. در اینجا چند نمونه از این آرایهها را بررسی میکنیم.
ایجاد آرایهای پر از صفر
برای ایجاد آرایهای که تمام مقادیر آن صفر باشند، میتوان از تابع np.zeros()
استفاده کرد:
# ایجاد آرایهای با مقادیر صفر
zero_arr = np.zeros((3, 3))
print(zero_arr)
خروجی:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
ایجاد آرایهای با مقادیر یک
برای ایجاد آرایهای با مقادیر یک، از تابع np.ones()
استفاده میکنیم:
# ایجاد آرایهای با مقادیر یک
ones_arr = np.ones((2, 2))
print(ones_arr)
خروجی:
[[1. 1.]
[1. 1.]]
ایجاد آرایه با مقادیر تصادفی
اگر بخواهیم آرایهای با مقادیر تصادفی ایجاد کنیم، از تابع np.random.rand()
استفاده میکنیم:
# ایجاد آرایهای با مقادیر تصادفی
random_arr = np.random.rand(2, 3)
print(random_arr)
این آرایه مقادیر تصادفی بین 0 و 1 خواهد داشت.
دستکاری آرایهها
یکی از قابلیتهای مهم دیگر در NumPy توانایی دستکاری آرایهها است. این شامل برش دادن (slicing)، تغییر شکل (reshaping)، و ادغام آرایهها میشود.
برش دادن آرایهها
در NumPy، میتوانیم قسمتهای مختلف یک آرایه را انتخاب کنیم. برای مثال، میتوانیم قسمتی از یک آرایه یکبعدی را به شکل زیر برش دهیم:
# برش دادن آرایه
arr = np.array([10, 20, 30, 40, 50])
sliced_arr = arr[1:4]
print(sliced_arr)
خروجی:
[20 30 40]
تغییر شکل آرایه
برای تغییر شکل آرایهها، میتوانیم از تابع reshape()
استفاده کنیم:
# تغییر شکل آرایه
reshaped_arr = arr.reshape((5, 1))
print(reshaped_arr)
خروجی:
[[10]
[20]
[30]
[40]
[50]]
در این مقاله، با آرایهها در NumPy آشنا شدیم و یاد گرفتیم که چگونه میتوانیم آرایههایی با ابعاد مختلف ایجاد کرده و عملیاتهای مختلف ریاضی و علمی را بر روی آنها انجام دهیم. همچنین توانستیم برخی از قابلیتهای پیشرفتهتر NumPy مانند دستکاری آرایهها و ایجاد آرایههای خاص را مورد بررسی قرار دهیم. NumPy یکی از ابزارهای قدرتمند برای برنامهنویسی علمی و عددی در Python است و استفاده از آن میتواند سرعت و کارایی برنامههای شما را به طور چشمگیری افزایش دهد.
منابع
- NumPy Documentation
- Harris, C. R., Millman, K. J., van der Walt, S. J., et al. (2020). Aarray: A Numpy-based library for scientific computing. Journal of Open Source Software.
آیا این مطلب برای شما مفید بود ؟