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

آخرین به‌روزرسانی: ۶ اسفند ۱۴۰۰
زمان مطالعه: ۶ دقیقه

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

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

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

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

برای ایمپورت کردن هر کتابخانه‌ای در پایتون باید از کلیدواژه import استفاده کنید. نامپای به طور معمول با نام مستعار np ایمپورت می‌شود. به این ترتیب می‌توانید به جای استفاده از کلمه 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 وجود دارد. به مثال زیر توجه کنید.

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

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

  • 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='<U10')
  • مثال: مرتب‌سازی آرایه دو بعدی از اعداد صحیح
arrObj = np.array([[12, 43, 21], [67, 32, 98]])
np.sort(arrObj)

خروجی:

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

معرفی فیلم آموزش برنامه‌نویسی پایتون Python – مقدماتی فرادرس

دوره آموزش پایتون

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

  • برای مشاهده فیلم آموزش برنامه‌نویسی پایتون Python – مقدماتی + اینجا کلیک کنید.

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

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

سخن پایانی

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

بر اساس رای ۱۲ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
makeuseof

نظر شما چیست؟

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