Numpy در پایتون چیست – مقدمه ای بر NumPy

 تاریخ انتشار :
/
  وبلاگ


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

NumPy در پایتون چیست؟

NumPy (پایتون عددی) کتابخانه ای است که از اشیاء آرایه چند بعدی و مجموعه ای از توابع برای دستکاری آنها تشکیل شده است. این یکی از پرکاربردترین بسته های پایتون برای محاسبات علمی است زیرا به شما اجازه می دهد تا عملیات ریاضی و منطقی را روی آرایه ها انجام دهید. NumPy یک زبان برنامه نویسی پایتون است.

تاریخچه NumPy

تراویس اولیفانت NumPy را در سال 2005 با تغییرات زیادی در Numeric و ترکیب ویژگی‌های رقیب Numarray ایجاد کرد. Numeric، سلف NumPy، در سال 1995 توسط Jim Hugunin و با کمک تعدادی از توسعه دهندگان دیگر ساخته شد. Travis Oliphant، توسعه‌دهنده NumPy، توانست جامعه را پشت یک بسته آرایه واحد جمع کند، بنابراین عملکرد Numarray را به Numeric منتقل کرد و NumPy 1.0 را در سال 2006 منتشر کرد. اکنون ما متوجه شدیم NumPy در پایتون چیست و تاریخچه آن چیست. حالا بیایید بفهمیم که چرا از آن استفاده می کنیم.

چرا از NumPy در پایتون استفاده کنیم؟

ما لیست هایی در پایتون داریم که مانند آرایه عمل می کنند، اما پردازش آنها کند است. هدف NumPy ارائه یک شیء آرایه ای است که تا 50 برابر سریعتر از لیست های سنتی پایتون است. می توان از آن برای انجام طیف وسیعی از عملیات ریاضی بر اساس آرایه ها استفاده کرد. پایتون را با ساختارهای تحلیلی پیشرفته ای که محاسبات سریع با آرایه ها و ماتریس ها را فراهم می کند، و همچنین یک کتابخانه بزرگ از توابع ریاضی سطح بالا که با این آرایه ها و ماتریس ها کار می کنند، گسترش می دهد. آرایه‌های NumPy، بر خلاف فهرست‌ها، در یک مکان پیوسته در حافظه ذخیره می‌شوند و به برنامه‌ها اجازه می‌دهند به سرعت به آن‌ها دسترسی پیدا کرده و آن‌ها را دستکاری کنند.

ویژگی های NumPy

ویژگی های NumPy - NumPy در پایتون چیست - Edureka
ویژگی های NumPy

NumPy مشکل کندی را تا حدی با ارائه آرایه ها و توابع چند بعدی و عملگرهایی که به طور موثر با آرایه ها کار می کنند، برطرف می کند.

  • ادغام C/C++، کد فرترن:

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

  • ظرف چند بعدی:

ndarray یک محفظه چند بعدی (معمولاً با اندازه ثابت) از عناصری با همان نوع و اندازه است. تعداد ابعاد و عناصر یک آرایه با شکل آن تعیین می شود که مجموعه ای از N عدد صحیح غیرمنفی است که ابعاد هر بعد را مشخص می کند. نوع عناصر موجود در آرایه توسط یک شیء نوع داده جداگانه (dtype) تعیین می شود که یکی از آنها با هر ndarray مرتبط است.

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

  • جبر خطی اضافی:

توانایی انجام عملیات عناصر پیچیده مانند جبر خطی، تبدیل فوریه و غیره را دارد.

  • کار با دیتابیس های مختلف:

ما می توانیم با آرایه هایی از انواع داده های مختلف کار کنیم. ما می توانیم از تابع dtype برای تعیین نوع داده استفاده کنیم و در نتیجه ایده روشنی از مجموعه داده های موجود بدست آوریم.

نصب NumPy در پایتون

NumPy به راحتی با تایپ چند دستور در پنجره ترمینال شما نصب می شود و روی Linux، MacOS و Windows کار می کند. فقط دستورالعمل های داده شده در زیر را دنبال کنید.

مرحله 1: نسخه پایتون را بررسی کنید

قبل از نصب NumPy ابتدا باید مشخص کنید که کدام نسخه از پایتون را دارید. اکثر سیستم عامل ها با پایتون از قبل نصب شده هستند، به جز ویندوز که نیاز به نصب دستی دارد.

دستور زیر را اجرا کنید تا ببینید پایتون 2 دارید یا خیر.

python -V

برای پایتون 3:

python3 -V

شماره نسخه باید در خروجی ترمینال شما ظاهر شود.

مرحله ۲: Pip را نصب کنید

Pip یک مدیر بسته پایتون است که به شما امکان نصب و مدیریت بسته های نرم افزار پایتون را می دهد. Pip در اکثر سیستم عامل ها از قبل بارگذاری نشده است. در نتیجه، باید مدیریت بسته را برای نسخه پایتونی که استفاده می‌کنید نصب کنید. اگر هر دو نسخه پایتون را دارید، هر دو نسخه Pip را نصب کنید. در ویندوز به صورت زیر تنظیم می کنیم:

PIP get-pip.py را دانلود کنید

1. خط فرمان را راه اندازی کنید. برای انجام این کار، cmd را در کادر جستجوی ویندوز تایپ کنید و سپس روی نماد کلیک کنید.

2. سپس برای دریافت فایل get-pip.py از دستور زیر استفاده کنید:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

نصب PIP در ویندوز:

python get-pip.py

نصب را بررسی کنید:

pip help

مرحله 3: NumPy را نصب کنید

پس از نصب پیپ، دستور زیر را برای نصب NumPy اجرا کنید.

در پایتون 2:

pip install numpy

در پایتون 3:
pip3 install numpy

نسخه های نصب شده با موفقیت numpy به عنوان خروجی در ترمینال شما نمایش داده می شود.

مرحله 4: نصب NumPy را تأیید کنید

دستور زیر را اجرا کنید تا مطمئن شوید NumPy نصب شده است و اکنون بخشی از بسته های پایتون شما است.

برای Python2:

pip show numpy

برای Python3:

pip3 show numpy

خروجی باید تأیید کند که NumPy را نصب کرده اید و همچنین نسخه و مکان بسته را تأیید می کند.

مرحله 5: بسته NumPy را وارد کنید

اکنون می توانید بسته را وارد کرده و پس از نصب NumPy به آن نام مستعار بدهید.

برای شروع، یکی از دستورات زیر را تایپ کنید تا به اعلان پایتون بروید:

python

یا

python3

شما می توانید بسته جدید را وارد کنید و زمانی که در اعلان python یا python3 قرار گرفتید به آن نام مستعار بدهید.

import numpy as np

NumPy – انواع داده

شکل زیر انواع مختلف داده های مورد استفاده در NumPy را شرح می دهد. این نوع داده ها به عنوان ذخیره می شوند

numpy.datatype

NumPy - انواع داده ها - NumPy در Python-Edureka چیست
NumPy – انواع داده

نمونه های NumPy

مثال 1:

import numpy as np
arr = np.array([1, 2, 3, 4, 6])
print(arr)

خروجی:

[1 2 3 4 6]

مثال 2:

import numpy as np

a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

print(a[2]) 

خروجی:

[ 9 10 11 12]

مثال 3:

import numpy as np
a = np.array([1, 2, 3, 4, 5, 6])
print(a[5])
 

خروجی:
6

مثال 4:

import numpy as np
dt = np.dtype(np.int32)
print (dt)

خروجی:

int32

[1 2 3 4 6]

عملیات با استفاده از NumPy در پایتون

آرایه ها در NumPy

هدف اصلی NumPy آرایه چند بعدی همگن است. این ساختار داده اصلی کتابخانه NumPy است. آرایه ماتریسی از مقادیر است که اطلاعاتی در مورد داده های خام، نحوه یافتن و تفسیر عناصر ارائه می دهد. این شامل مجموعه ای از عناصر است که می توانند به روش های مختلف نمایه شوند. چند اعداد صحیح مثبت برای نمایه سازی آن استفاده می شود. ابعاد محورها در NumPy هستند. به تعداد محورها رتبه می گویند. کلاس آرایه در NumPy به نام ndarray شناخته می شود.

ایجاد یک آرایه:

راه های مختلفی برای ایجاد آرایه در NumPy وجود دارد. بیایید با یک مثال بفهمیم:

مثال:

import numpy as np
a = np.array([[1, 2, 4], [5, 8, 7]], dtype="float")
print ("Array created using passed list:n", a)
b = np.array((1 , 3, 2))
print ("nArray created using passed tuple:n", b)
c = np.zeros((3, 4))
print ("nAn array initialized with all zeros:n", c)
d = np.full((3, 3), 6, dtype="complex")
print ("nAn array initialized with all 6s.""Array type is complex:n", d)
e = np.random.random((2, 2))
print ("nA random array:n", e)
f = np.arange(0, 30, 5)
print ("nA sequential array with steps of 5:n", f)
g = np.linspace(0, 5, 10)
print ("nA sequential array with 10 values between""0 and 5:n", g)
arr = np.array([[1, 2, 3, 4],[5, 2, 4, 2],[1, 2, 0, 1]])
newarr = arr.reshape(2, 2, 3)
print ("nOriginal array:n", arr)
print ("Reshaped array:n", newarr)
arr = np.array([[1, 2, 3], [4, 5, 6]])
flarr = arr.flatten()
print ("nOriginal array:n", arr)
print ("Fattened array:n", flarr)

خروجی:

آرایه ها در NumPy- Edureka آرایه ها در NumPy(2) - Edureka

نمایه سازی آرایه:

نمایه سازی یک آرایه مانند دسترسی به یک عنصر آرایه است. شما می توانید با مراجعه به یک عنصر آرایه به شماره فهرست آن دسترسی داشته باشید. مثلا

 import numpy 
arr = np.array([1, 2, 3, 4])
print(arr[0])

خروجی:

1

برش آرایه ها:

برش در پایتون به معنای بردن عناصر از یک شاخص به شاخص دیگر است. مثلا:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
print(arr[1:5])

خروجی:

[2 3 4 5]

توابع اصلی مورد استفاده در آرایه:

ویژگی اصلی-NumPy در Python-Edureka چیست

NumPy – توابع ریاضی

توابع مثلثاتی

توابع مثلثاتی استاندارد در NumPy نسبت های مثلثاتی را برای یک زاویه معین بر حسب رادیان برمی گرداند. توابع آرکسین، آرکوس و آرکتان، متقابل مثلثاتی زاویه عرضه‌شده sin، cos و tan را برمی‌گردانند. نتایج این روش ها را می توان با استفاده از تابع numpy.degrees () که رادیان ها را به درجه تبدیل می کند، اعتبارسنجی کرد.

مثال:

 import numpy as np
 a = np.array([0,30,45,60,90]) 
 print ("Sine of different angles:")   
 print (np.sin(a*np.pi/180))   
 print ("n")      
 print ("Cosine values for angles in array:")   
 print (np.cos(a*np.pi/180))
 print ("n")   
 print ("Tangent values for given angles:")   
 print (np.tan(a*np.pi/180))   

خروجی:
تابع مثلثاتی - NumPy در پایتون چیست - Edureka
توابع گرد کردن
این تابعی است که مقدار گرد شده را به دقت مشخص شده برمی گرداند. تابع مورد استفاده در اینجا است
numpy.around (a، اعشار)
مثال:

import numpy as np
in_array = [.5, 1.5, 2.5, 3.5, 4.5, 10.1]
print ("Input array : n", in_array)
round_off_values = np.round_(in_array)
 print ("nRounded values : n", round_off_values)   
 in_array = [.53, 1.54, .71]   
 print ("nInput array : n", in_array)   
 round_off_values = np.round_(in_array)   
 print ("nRounded values : n", round_off_values)   
 in_array = [.5538, 1.33354, .71445]   
 print ("nInput array : n", in_array)   
 round_off_values = np.round_(in_array, decimals = 3)   
 print ("nRounded values : n", round_off_values)   

خروجی:

توابع گرد - Edureka

NumPy – توابع آماری

NumPy تعدادی توابع آماری مفید برای تعیین حداقل، حداکثر، انحراف استاندارد صدک و واریانس و غیره ارائه می دهد. از عناصر یک آرایه توابع به شرح زیر است:

numpy.amin() و numpy.amax() numpy.amin() و numpy.amax()

مثال:

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]])
 print ("Our array is:")
 print (a)
 print ("n")
 print ("Applying amin() function:") 
 print (np.amin(a,1)) 
 print ("n")
 print ("Applying amin() function again:") 
 print (np.amin(a,0)) 
 print ("n") 
 print ("Applying amax() function:") 
 print (np.amax(a)) 
 print ("n") 
 print ("Applying amax() function again:") 
 print (np.amax(a, axis = 0)) 

خروجی:

تابع آماری - Edureka

کاربردهای NumPy در پایتون

  • NumPy بسیاری از فرآیندهای ریاضی را که معمولاً در محاسبات علمی مورد استفاده قرار می گیرند، بهینه و ساده می کند، مانند:
    • ضرب بردارها
    • ضرب ماتریس-ماتریس و ماتریس-بردار
    • عملیات عنصر بردار و ماتریس (یعنی جمع، تفریق، ضرب و تقسیم یک عدد)
    • مقایسه بین عناصر یا آرایه ها
    • اعمال توابع به عنصر بردار/ماتریس (مانند pow، log و exp)
    • NumPy شامل تعداد زیادی عملیات جبر خطی است.
    • لینالگ
    • آمار، تخفیف و موارد دیگر
  • حداقل حافظه را حفظ می کند
  • در یادگیری ماشین استفاده می شود

بنابراین، این یک مرور مختصر از کتابخانه NumPy بود که در آن با NumPy، تاریخچه آن، چرایی اهمیت آن، ویژگی های آن و نحوه استفاده از آن آشنا شدیم. امیدوارم این موضوع به روشی واضح و قابل فهم برای شما روشن شود. خودتان آن را امتحان کنید تا دانش NumPy خود را بهبود ببخشید. اگر می‌خواهید دانشمند داده شوید و مهارت‌های دانشمند داده را از بهترین دانشمندان داده در سراسر جهان بیاموزید، آموزش صدور گواهینامه علوم داده Edureka را با استفاده از Python بررسی کنید و به حرفه خود بال بدهید!