برنامه نویسی و طراحی سایت

۱۲ عملگر NumPy — عملگر‌های نامپای برای مبتدی ها

۱۲ عملگر NumPy — عملگر‌های نامپای برای مبتدی ها

«نامپای» (NumPy) بسته‌ای برای انجام محاسبات علمی در زبان پایتون است. نامپای از آرایه‌های چندبعدی به خوبی پشتیبانی می‌کند که در ادامه این مقاله در مورد آن‌ها به تفصیل صحبت خواهیم کرد. در این مطلب با 12 عملگر NumPy برای افراد مبتدی آشنا می‌شوید.

فهرست مطالب این نوشته
عملگر numpy برای اپمیورت نامپای با عنوان np و مشاهده شماره نسخه

ساخت شیء ndarray با نامپای

ساخت آرایه های نامپای صفر تا n بعدی

آرایه‌های صفربعدی

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

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

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

آرایه‌های nبعدی

شیوه بررسی بعد یک آرایه

شیوه دسترسی به عناصر آرایه های یک تا سه بعدی

شیوه بررسی نوع داده شیء آرایه نامپای

تغییر نوع داده در یک آرایه نامپای

کپی کردن یک آرایه نامپای به آرایه دیگر

مشاهده شکل یک آرایه نامپای

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

مرتب سازی عناصر یک آرایه نامپای

سخن پایانی

faradars mobile

چنان‌که اشاره کردیم نامپای که اختصاری برای عبارت «پایتون عددی» (Numerical Python) است، یک کتابخانه زبان برنامه‌نویسی پایتون برای کار با آرایه‌ها و اجرای انواع مختلفی از عملیات ریاضی روی اعداد و آرایه‌ها محسوب می‌شود. نامپای یک کتابخانه ضروری برای اجرای محاسبات علمی در پایتون است و در اغلب موارد به همراه دیگر کتابخانه‌های مرتبط با علوم داده پایتون مانند SciPy ،Pandas و Matplotlib استفاده می‌شود.

در ادامه این مطلب 12 عملگر نامپای ارائه شده‌اند که شما می‌توانید آن‌ها را مستقیماً در مفسر پایتون خود وارد کرده و عملکردشان را بررسی کنید. همچنین می‌توانید در این صفحه ریپازیتوری گیت‌هاب (+) به نت‌بوک پایتونی دسترسی داشته باشید که همه کدها را یک‌جا ارائه کرده است.

عملگر numpy برای اپمیورت نامپای با عنوان np و مشاهده شماره نسخه

برای ایمپورت کردن هر کتابخانه‌ای در پایتون باید از کلیدواژه import استفاده کنید. نامپای به طور معمول با نام مستعار np ایمپورت می‌شود.

آموزش کتابخانه های NumPy و Matplotlib در پایتون
فیلم آموزش کتابخانه های NumPy و Matplotlib در پایتون در تم آف

کلیک کنید

به این ترتیب می‌توانید به جای استفاده از کلمه numpy با بهره‌گیری از عبارت دو حرفی np به این پکیج اشاره کنید.

import numpy as np
print(np.__version__)

خروجی کد فوق عددی مشابه زیر است.

1.20.1

ساخت شیء ndarray با نامپای

شیء آرایه در نامپای به صورت ndarray شناخته می‌شود. برای ساخت شیء ndarray در نامپای می‌توانید از متد ()array بهره بگیرید. این متد یک لیست، چندتایی (tuple) یا یک شیء شبه آرایه می‌گیرد. به مثال زیر توجه کنید تا با روش ساخت یک آرایه نامپای از یک چندتایی آشنا شوید.

import numpy as np
print(np.__version__)

خروجی کد فوق چنین است:

array([23، 32، 65، 85])

در مثال زیر یک آرایه نامپای را از روی یک لیست در پایتون ایجاد می‌کنیم.

arrObj = np.array([43، 23، 75، 15])
arrObj

خروجی کد فوق چنین است.

array([43، 23، 75، 15])

ساخت آرایه های نامپای صفر تا n بعدی

در نامپای می‌توانید آرایه‌ای با هر تعداد بعد که دوست دارید بسازید. برای نمونه برای ساخت آرایه 0-بعدی با استفاده از عملگر numpy به صورت زیر عمل می‌کنیم.

آرایه‌های صفربعدی

arrObj = np.array([43، 23، 75، 15])
arrObj

خروجی کد فوق چنین است.

array(21)

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

برای ساخت آرایه یک بعدی کافی است از آرایه‌های 0-بعدی به عنوان عناصر آرایه 1-بعدی بهره بگیریم. به مثال زیر توجه کنید.

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]])

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

برای ساخت آرایه سه بعدی کافی است از آرایه‌های 2-بعدی به عنوان عناصر آرایه 3-بعدی بهره بگیریم. به مثال زیر توجه کنید.

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]]])

آرایه‌های nبعدی

با استفاده از آرگومان ndmin می‌توانید آرایه‌هایی با ابعاد دلخواه بسازید.

arrObj = np.array([23، 22، 65، 44]، ndmin=5)
arrObj

خروجی:

array([[[[[23، 22، 65، 44]]]]])

مطلب پیشنهادی برای مطالعه: برنامه نویسی پایتون (Python) با کتابخانه NumPy — به زبان ساده

شیوه بررسی بعد یک آرایه

برای مشاهده ابعاد یک آرایه می‌توانید از خصوصیت ndmin به صورت زیر بهره بگیرید.

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

شیوه دسترسی به عناصر آرایه های یک تا سه بعدی

برای دسترسی به هر عنصر یک آرایه می‌توانید از اندیس آن عنصر بهره بگیرید. به این منظور باید از اعداد صحیح جدا شده با کاما استفاده کنید که نمایانگر اندیس هر بعد باشند.

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

شیوه بررسی نوع داده شیء آرایه نامپای

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

آموزش کتابخانه NumPy برای محاسبات علمی در پایتون (رایگان)
فیلم آموزش کتابخانه 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

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

  • i — عدد صحیح (علامت‌دار)
  • b — مقدار بولی
  • O — شیء
  • S — رشته
  • u — عدد صحیح بی‌علامت
  • f — عدد اعشاری
  • c — عدد مختلط
  • m — تفاضل زمانی
  • M — تاریخ و زمان
  • U — رشته یونیکد
  • V — داده خام (تهی)

تغییر نوع داده در یک آرایه نامپای

امکان تغییر دادن نوع داده یک آرایه نامپای با استفاده از متد astype(data_type)  به عنوان یک عملگر numpy وجود دارد. این متد یک نوع داده به عنوان پارامتر می‌گیرد و یک کپی جدید از آرایه می‌سازد. امکان تعیین نوع داده با استفاده از کاراکترهایی مانند b برای مقدار بولی، I برای مقدار عدد صحیح، f برای مقدار اعشاری و غیره وجود دارد.

برای تبدیل یک آرایه عدد صحیح به آرایه اعشاری به صورت زیر عمل می‌کنیم.

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)

کپی کردن یک آرایه نامپای به آرایه دیگر

برای کپی کردن یک آرای نامپای به آرایه دیگر از تابع ()np.copy کمک می‌گیریم. این تابع یک کپی آرایه از شیء مفروض به دست می‌دهد.

oldArr = np.array([43, 23, 75, 15])
newArr = np.copy(oldArr)
newArr

خروجی

array([43، 23، 75، 15])

مشاهده شکل یک آرایه نامپای

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

arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj.shape

خروجی:

(2، 3)

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

تغییر دادن شکل یک آرایه به معنی تغییر دادن ابعاد آن است. توجه کنید که امکان تغییر دادن یک آرایه به شکل دلخواه مقدور نیست. تعداد عناصر مورد نیاز برای تغییر دادن شکل یک آرایه باید در هر دو شکل مبدأ و مقصد یکسان باشند.

arrObj = np.array([43، 23، 75، 15، 34، 45])
reshapedArr = arrObj.reshape(2، 3)
reshapedArr

خروجی:

array([[43، 23، 75]،
[15، 34، 45]])

مرتب سازی عناصر یک آرایه نامپای

برای مرتب‌سازی عناصر آرایه‌های نامپای از تابع ()numpy.sort بهره می‌گیریم. به مثال‌های زیر توجه کنید.

  • مثال: مرتب‌سازی آرایه یک بعدی از عناصر عدد صحیح
arrObj = np.array([43, 23, 75, 15])
np.sort(arrObj)

خروجی:

array([15، 23، 43، 75])
  • مثال: مرتب‌سازی آرایه یک بعدی از عناصر رشته‌ای
arrObj = np.array(["Python", "JavaScript", "Solidity", "Golang"])
np.sort(arrObj)

خروجی:

array(['Golang'، 'JavaScript'، 'Python'، 'Solidity']، dtype='
  • مثال: مرتب‌سازی آرایه دو بعدی از اعداد صحیح
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
np.sort(arrObj)

خروجی:

array(['Golang'، 'JavaScript'، 'Python'، 'Solidity']، dtype='

سخن پایانی

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

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

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

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.