NumPy که مخفف Numerical Python است ، یک کتابخانه پایتون است که عمدتا برای کار با آرایه ها و انجام انواع عملیات ریاضی روی آنها استفاده می شود. این کتابخانه اصلی محاسبات علمی در پایتون است. NumPy اغلب با سایر کتابخانه های پایتون مرتبط با علم داده مانند SciPy ، Pandas و Matplotlib استفاده می شود.
در این مقاله با نحوه انجام 12 عملیات اساسی با استفاده از NumPy آشنا می شوید.
با استفاده از این نمونه های NumPy
می توانید نمونه های موجود در این مقاله را با وارد کردن کد به طور مستقیم در مترجم پایتون اجرا کنید. برای انجام این کار ، آن را در حالت تعاملی از خط فرمان راه اندازی کنید.
همچنین می توانید به یک فایل نوت بوک پایتون حاوی کد منبع کامل از این مخزن GitHub دسترسی پیدا کنید .
1. نحوه وارد کردن NumPy به عنوان np و چاپ نسخه نسخه
برای وارد کردن هر کتابخانه ای در پایتون باید از کلید واژه import استفاده کنید. NumPy معمولاً با نام مستعار np وارد می شود. با این رویکرد ، می توانید به بسته NumPy به جای numpy به عنوان np مراجعه کنید .
import numpy as np
print(np.__version__)
خروجی:
1.20.1
2. نحوه ایجاد یک شیء NumPy ndarray
شیء آرایه در NumPy ndarray نامیده می شود. با استفاده از متد array () می توانید شیء NumPy ndarray را ایجاد کنید. متد () array یک لیست ، یک چندگانه یا یک شیء آرایه مانند را می پذیرد.
استفاده از یک Tuple برای ایجاد یک آرایه NumPy
arrObj = np.array((23, 32, 65, 85))
arrObj
خروجی:
array([23, 32, 65, 85])
استفاده از یک لیست برای ایجاد یک آرایه NumPy
arrObj = np.array([43, 23, 75, 15])
arrObj
خروجی:
array([43, 23, 75, 15])
3. نحوه ایجاد آرایه های NumPy 0D ، 1D ، 2D ، 3D ، و N-Dimensional
آرایه های 0D
هر عنصر یک آرایه یک آرایه 0D است.
arrObj = np.array(21)
arrObj
خروجی:
array(21)
آرایه های 1 بعدی
آرایه هایی که دارای آرایه های 0D به عنوان عناصر خود هستند آرایه های 1D نامیده می شوند.
arrObj = np.array([43, 23, 75, 15])
arrObj
خروجی:
array([43, 23, 75, 15])
آرایه های دو بعدی
آرایه هایی که آرایه های 1 بعدی به عنوان عناصر خود دارند آرایه های 2 بعدی نامیده می شوند.
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj
خروجی:
array([[12, 43, 21],
[67, 32, 98]])
آرایه های سه بعدی
آرایه هایی که دارای عناصر آرایه دو بعدی (ماتریس) هستند آرایه های سه بعدی نامیده می شوند.
arrObj = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
arrObj
خروجی:
array([[[23, 45, 22],
[45, 76, 23]],
[[67, 23, 56],
[12, 76, 63]]])
آرایه های ابعادی
با استفاده از آرگومان ndmin می توانید یک آرایه از هر ابعادی ایجاد کنید.
arrObj = np.array([23, 22, 65, 44], ndmin=5)
arrObj
خروجی:
array([[[[[23, 22, 65, 44]]]]])
4. نحوه بررسی ابعاد یک آرایه
با استفاده از ویژگی ndim می توانید ابعاد یک آرایه را بیابید.
arrObj1 = np.array(21)
arrObj2 = np.array([43, 23, 75, 15])
arrObj3 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj4 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1.ndim)
print(arrObj2.ndim)
print(arrObj3.ndim)
print(arrObj4.ndim)
خروجی:
0
1
2
3
5. نحوه دسترسی به عناصر آرایه های 1 بعدی ، 2 بعدی و سه بعدی
با استفاده از شماره فهرست آن می توانید به یک عنصر آرایه دسترسی پیدا کنید. برای آرایه های دو بعدی و سه بعدی ، باید از اعداد صحیح جدا شده با کاما استفاده کنید که نمایه هر بعد را نشان می دهد.
arrObj1 = np.array([43, 23, 75, 15])
arrObj2 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj3 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1[2])
print(arrObj2[0, 2])
print(arrObj3[0, 1, 2])
خروجی:
75
21
23
توجه : آرایه های NumPy همچنین از نمایه سازی منفی پشتیبانی می کنند.
6. نحوه بررسی نوع داده شیء NumPy Array
با استفاده از ویژگی dtype می توانید نوع داده شیء آرایه NumPy را بررسی کنید.
arrObj1 = np.array([1, 2, 3, 4])
arrObj2 = np.array([1.3, 6.8, 3.5, 9.2])
arrObj3 = np.array(['Welcome', 'to', 'MUO'])
print(arrObj1.dtype)
print(arrObj2.dtype)
print(arrObj3.dtype)
خروجی:
int32
float64
<U7
توجه :
NumPy از کاراکترهای زیر برای نشان دادن انواع داده های داخلی استفاده می کند:
- i – عدد صحیح (امضا شده)
- ب – بولی
- O – شی
- S – رشته
- u – عدد صحیح بدون علامت
- f – شناور
- ج – شناور پیچیده
- m – timedelta
- M – زمان داده
- U – رشته یونیکد
- V – داده های خام (باطل)
7. نحوه تغییر نوع داده یک آرایه NumPy
می توانید نوع داده یک آرایه NumPy را با استفاده از روش astype (data_type) تغییر دهید . این متد نوع داده را به عنوان یک پارامتر می پذیرد و یک کپی جدید از آرایه ایجاد می کند. می توانید نوع داده را با استفاده از کاراکترهایی مانند 'b' برای boolean ، 'i' برای عدد صحیح ، 'f' برای float و غیره مشخص کنید.
تبدیل یک آرایه صحیح به یک آرایه شناور
arrObj = np.array([43, 23, 75, 15])
floatArr = arrObj.astype('f')
floatArr
خروجی:
array([43., 23., 75., 15.], dtype=float32)
تبدیل یک آرایه شناور به یک آرایه صحیح
arrObj = np.array([1.3, 6.8, 3.5, 9.2])
intArr = arrObj.astype('i')
intArr
خروجی:
array([1, 6, 3, 9], dtype=int32)
8. چگونه می توان یک آرایه NumPy را در یک آرایه دیگر کپی کرد
با استفاده از تابع np.copy () می توانید یک آرایه NumPy را در یک آرایه دیگر کپی کنید. این تابع یک کپی آرایه از شیء داده شده را برمی گرداند.
oldArr = np.array([43, 23, 75, 15])
newArr = np.copy(oldArr)
newArr
خروجی:
array([43, 23, 75, 15])
9. نحوه پیدا کردن شکل یک آرایه NumPy
شکل یک آرایه به تعداد عناصر در هر بعد اشاره دارد. با استفاده از ویژگی shape می توانید شکل یک آرایه را پیدا کنید. یک تاپل را باز می گرداند که عناصر آن طول ابعاد آرایه مربوطه را می دهد.
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj.shape
خروجی:
(2, 3)
10. نحوه تغییر شکل آرایه NumPy
تغییر شکل یک آرایه به معنی تغییر شکل آن است. توجه داشته باشید که نمی توانید یک آرایه را به شکل دلخواه تغییر دهید. تعداد عناصر مورد نیاز برای تغییر شکل باید در هر دو شکل یکسان باشد.
arrObj = np.array([43, 23, 75, 15, 34, 45])
reshapedArr = arrObj.reshape(2, 3)
reshapedArr
خروجی:
array([[43, 23, 75],
[15, 34, 45]])
در مثال بالا ، یک آرایه 1 بعدی به یک آرایه 2 بعدی تغییر شکل می دهد.
11. نحوه صاف کردن یک آرایه NumPy
مسطح کردن یک آرایه به معنای تبدیل یک آرایه چند بعدی به یک آرایه 1 بعدی است. با استفاده از تغییر شکل (-1) می توانید یک آرایه را صاف کنید.
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
flattenedArr = arrObj.reshape(-1)
flattenedArr
خروجی:
array([12, 43, 21, 67, 32, 98])
توجه : همچنین می توانید یک آرایه را با استفاده از روش های دیگر مانند numpy.ndarray.flatten () و numpy.ravel () صاف کنید .
12. نحوه مرتب سازی آرایه NumPy
با استفاده از تابع numpy.sort () می توانید یک آرایه NumPy را مرتب کنید.
مرتب سازی آرایه 1D از اعداد صحیح
arrObj = np.array([43, 23, 75, 15])
np.sort(arrObj)
خروجی:
array([15, 23, 43, 75])
مرتب سازی آرایه 1 بعدی رشته ها
arrObj = np.array(["Python", "JavaScript", "Solidity", "Golang"])
np.sort(arrObj)
خروجی:
array(['Golang', 'JavaScript', 'Python', 'Solidity'], dtype='<U10')
مرتب سازی آرایه دو بعدی از اعداد صحیح
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
np.sort(arrObj)
خروجی:
array([[12, 21, 43], [32, 67, 98]])
با استفاده از روشها و توابع داخلی ، کد خود را قوی کنید
پایتون یکی از محبوب ترین زبان های برنامه نویسی است. از آن در حوزه های مختلف مانند توسعه وب ، برنامه های علمی و عددی ، توسعه نرم افزار و توسعه بازی استفاده می شود. دانستن روش ها و توابع داخلی در پایتون همیشه خوب است. آنها می توانند کد شما را کوتاه کرده و کارایی آن را افزایش دهند.