معرفی کتابخانه NumPy در پایتون

کتابخانه NumPy یک کتابخانه محبوب در زبان برنامه نویسی Python  است که برای کاربردهای محاسبات علمی مورد استفاده قرار می گیرد و مخفف “Numithical Python” است. عملیات NumPy به سه دسته اصلی تقسیم می شود که عبارتند از تبدیل های فوریه و تغییرات اشکال، عملیات ریاضی و منطقی و جبر خطی و تولید اعداد تصادفی.  برای اجرای سریعتر کتابخانه NumPy  با زبان C و Python نوشته شده است.

 

مزایای  NumPy

NumPy نسبت به استفاده از توابع ریاضی Python چندین مزیت دارد که چند مورد از آنها در اینجا بیان شده است:

NumPy به لطف استفاده زیاد از متعلقات C، در مقایسه با هسته Python بسیار سریع است.
بسیاری از کتابخانه های پیشرفته Python، مانند Scikit-Learn ،Scipy و Keras ، از کتابخانه NumPy استفاده می کنند. بنابراین، اگر می خواهید در علوم داده (Data Science) یا یادگیری ماشین (machine learning) شغلی را دنبال کنید، NumPy ابزاری بسیار مناسبی برای تسلط و یادگیری است.
NumPy دارای قابلیت های داخلی متنوعی است که در هسته پایتون از کدهای کاستوم شده استفاده کند.

 

به عنوان مورد آخر، به کد زیر را نگاه کنید:

x = [۲, ۳, ۴, ۵, ۶]
y = [a + ۲ for a in x]

در اینجا، برای اضافه کردن ۲ به هر عنصر در لیست x ، باید کل لیست را مرور کنیم و ۲ به هر عنصر به صورت جداگانه اضافه کنیم. حال بیایید ببینیم که چگونه می توانیم همان کار را با کتابخانه NumPy انجام دهیم:

import numpy as np
nums = np.array([۲, ۳, ۴, ۵, ۶])
nums2 = nums + ۲

می توانید مشاهده کنید افزودن مقدار عددی به هر عنصر موجود در لیست از طریق NumPy چقدر آسان است. این موضوع نه تنها قابلیت خواندن را سریعتر نموده بلکه در مقایسه با کد قبلی نیز سریعتر است.

 

متد random

random = np.random.rand(۲, ۳)

random = np.random.randint(۵۰, ۱۰۰, ۵)

دو کد بالا را اجرا و نتایج را با هم مقایسه کنید

 

پیدا کردن مقدار Max/Min

 

random = np.random.randint(۱, ۱۰۰, ۵)
print(random)
xmin = random.min()
print(xmin)
xmax = random.max()
print(xmax)

ایجاد آرایه یک بعدی

nums = np.arange(۱, ۱۶)
print(nums[۱:۸])
[۲ ۳ ۴ ۵ ۶ ۷ ۸]

 

ایجاد آرایه دو بعدی

nums2d = np.array(([۱,۲,۳],[۴,۵,۶],[۷,۸,۹]))

print(nums2d)

[[۱ ۲ ۳]
 [۴ ۵ ۶]
 [۷ ۸ ۹]]
print(nums2d[۰])
[۱ ۲ ۳]

ایجاد آرایه سه بعدی

a = np.array([[[1,2],[3,4],[5,6]],# first axis array
[[۷,۸],[۹,۱۰],[۱۱,۱۲]],# second axis array
[[۱۳,۱۴],[۱۵,۱۶],[۱۷,۱۸]]])# third axis array
# ۳-D array
print(a)
[[[ ۱  ۲]
  [ ۳  ۴]
  [ ۵  ۶]]

 [[ ۷  ۸]
  [ ۹ ۱۰]
  [۱۱ ۱۲]]

 [[۱۳ ۱۴]
  [۱۵ ۱۶]
  [۱۷ ۱۸]]]

print('First array, first row, first column value :','\n',a[0,0,0])
print('First array last column :','\n',a[0,:,1])
print('First two rows for second and third arrays :','\n',a[1:,0:2,0:2])
First array, first row, first column value : 
 ۱
First array last column : 
 [۲ ۴ ۶]
First two rows for second and third arrays : 
 [[[ ۷  ۸]
  [ ۹ ۱۰]]

 [[۱۳ ۱۴]
  [۱۵ ۱۶]]]

عملیات حسابی با آرایه های NumPy

nums3 = nums + nums
[ ۲  ۴  ۶  ۸ ۱۰ ۱۲ ۱۴ ۱۶ ۱۸ ۲۰ ۲۲ ۲۴ ۲۶ ۲۸ ۳۰]
nums3 = nums + ۱۰
print(nums3
[۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ ۲۲ ۲۳ ۲۴ ۲۵]

محاسبه جذر و سینوس

 

nums3 = np.sqrt(nums)
print(nums3)

[۱.         ۱.۴۱۴۲۱۳۵۶ ۱.۷۳۲۰۵۰۸۱ ۲.         ۲.۲۳۶۰۶۷۹۸ ۲.۴۴۹۴۸۹۷۴
 ۲.۶۴۵۷۵۱۳۱ ۲.۸۲۸۴۲۷۱۲ ۳.         ۳.۱۶۲۲۷۷۶۶ ۳.۳۱۶۶۲۴۷۹ ۳.۴۶۴۱۰۱۶۲
 ۳.۶۰۵۵۵۱۲۸ ۳.۷۴۱۶۵۷۳۹ ۳.۸۷۲۹۸۳۳۵]


nums3 = np.sin(nums)
print(nums3)
[ ۰.۸۴۱۴۷۰۹۸  ۰.۹۰۹۲۹۷۴۳  ۰.۱۴۱۱۲۰۰۱ -۰.۷۵۶۸۰۲۵  -۰.۹۵۸۹۲۴۲۷ -۰.۲۷۹۴۱۵۵
  ۰.۶۵۶۹۸۶۶   ۰.۹۸۹۳۵۸۲۵  ۰.۴۱۲۱۱۸۴۹ -۰.۵۴۴۰۲۱۱۱ -۰.۹۹۹۹۹۰۲۱ -۰.۵۳۶۵۷۲۹۲
  ۰.۴۲۰۱۶۷۰۴  ۰.۹۹۰۶۰۷۳۶  ۰.۶۵۰۲۸۷۸۴]

 

تغییر شکل در آرایه ها

nums = np.arange(۱, ۱۷)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16])
nums2 = nums.reshape(۴, ۴)
array([[ 1,  2,  3,  4],
       [ ۵,  ۶,  ۷,  ۸],
       [ ۹, ۱۰, ۱۱, ۱۲],
       [۱۳, ۱۴, ۱۵, ۱۶]])



برای انجام تمرینات بیشتر زبان برنامه نویسی پایتون می توانید در ادامه آموزش ها با ما همراه شوید.

 

 

محمد صداقتی

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

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