کتابخانه Numpy در پایتون : آموزش کار با Numpy در python

در این پست به معرفی و آموزش کتابخانه Numpy در پایتون خواهیم پرداخت ، بی شک Numpy یکی از مهم ترین و پرکاربردترین کتابخانه های پایتون می باشد.

 

با استفاده از کتابخانه Numpy امکان استفاده از آرایه‌ها و ماتریس‌های بزرگ چند بعدی فراهم می‌شود.

 

مقدمه : آشنایی با کتابخانه Numpy

کتابخانه numpy کتابخانه اصلی محاسبات ریاضی در زبان پایتون است.

این کتابخانه امکاناتی را برای تعریف و مدیریت آرایه‌ها را برای پروژه های محاسباتی فراهم می کند.

NumPy که مخفف Numerical Python است، برای محاسبات عددی متنوعی در پایتون به کار می‌رود.

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

آرایه ها را می توان معادل تقریبی ماتریس ها در ریاضی دانست.

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

مثال برای یک آرایه دو بعدی دو عدد برای تعیین موقعیت خانه لازم است تا موقعیت داده مورد نظر را در سطر و ستون دلخواه مشخص کند.

برای مثال، مختصات یک نقطه در فضای 3 بعدی [1, 2, 1] یک آرایه با رتبه 1 است زیرا یک محور دارد.

این محور طولی به‌اندازه 3 دارد.

در مثال زیر آرایه رتبه 2 دارد (2 بعدی است). بعد (محور) نخست طولی به ‌اندازه 2 دارد، بعد دوم طول 3 دارد.

 

نصب Numpy در پایتون :

برای نصب نامپای در پایتون کافی است دستور زیر را استفاده کنید :

و بعد از نصب ، برای استفاده از آن کافی است که آن را در ابتدای برنامه خود ایمپورت کنید:

 

تعریف یک آرایه با Numpy

چند روش برای ایجاد آرایه وجود دارند. برای مثال، می‌توان با استفاده از تابع array یک آرایه را از فهرست معمولی پایتون یا چندتایی‌ها ایجاد کرد.

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

کد فوق یک آرایه یک بعدی ایجاد میکند و مقادیر [2,3,4] را در آن قرار میدهد.

اندیس گذاری آرایه در پایتون :

هر آرایه ، خانه هایی دارد که به آنها درایه میگوییم و عناصر آرایه داخل درایه های آن قرار میگیرد ، برای دسترسی به مقادیر داخل آرایه از اندیس استفاده میکنیم.

اندیس آرایه در پایتون از 0 شروع میشود ، بعنوان مثال ، آرایه فوق 3 عضو دارد و اندیس آنها از 0 تا 2 است .

برای دسترسی به عناصر آرایه باید اندیس آن را بکار برد، بعنوان مثال میخواهیم مقدار دومین خانه در آرایه فوق را مساوی 5 قرار بدهیم:

 

ایجاد آرایه با مقادیر پیش فرض اولیه

گاهی لازم است یک ماتریس با مقادیر یکسان و پیش فرض در همه خانه ها ایجاد کنیم برای این منظور می توان از توابع ،zeros،ones،full و .. استفاده کرد. به مثال زیر توجه کنید:

ساخت آرایه با مقدار اولیه صفر در پایتون

کد فوق یک آرایه 2 در 2 با مقدار اولیه 0 می سازد.

ساخت آرایه با مقدار اولیه یک در پایتون

کد فوق یک آرایه 2 در 2 با مقدار اولیه 1 می سازد.

ساخت آرایه با مقدار تصادفی در پایتون

کد فوق یک آرایه 2 در 2 با مقدار تصادفی در پایتون می سازد.

ساخت آرایه با تقسیم یک بازه خاص

NumPy برای ایجاد دنباله‌هایی از اعداد یک تابع مشابه range ارائه کرده است که به‌جای لیست، یک آرایه برمی‌گرداند.

تابع arrange یک بازه را میگیرد و آن را به بخش های مساوی تقسیم میکند. مثلا کد زیر بازه 0 تا 10 را به 10 قسمت تقسیم میکند:

پارامترهای این تابع عبارتند از : مقدار شروع ، مقدار پایانی بازه و طول گام ، اگر مقدار شروع وارد نشود 0 در نظر گرفته میشود مثل مثال فوق.

 

زمانی که arange با آرگومان‌های اعشاری استفاده می‌شود، به دلیل دقت متناهی اعداد اعشاری، عموماً امکان پیش‌بینی تعداد عناصر به دست آمده وجود ندارد.

به همین دلیل معمولاً استفاده از تابع linspace که تعداد عناصر مطلوب را نیز به عنوان یک آرگومان می‌گیرد، بهتر است:

 

آشنایی با ویژگی های آرایه های Numpy

کلاس آرایه Numpy به‌صورت ndarray نام‌گذاری شده است. خصوصیات مهم‌تر یک ndarray بدین ترتیب هستند.

  • ndarray.ndim
    • تعداد محور (ابعاد) آرایه است. در دنیای پایتون تعداد ابعاد به‌صورت رتبه نامیده می‌شود.
  • ndarray.shape
    • ابعاد یک آرایه است. این خصوصیت از یک چندتایی اعداد صحیح تشکیل یافته است که نشان‌دهنده اندازه هر بعد آرایه هستند. برای یک ماتریس با n ردیف و m ستون، شکل (shape) به‌صورت (n,m) خواهد بود. بدین ترتیب طول چندتایی shape برابر با رتبه آرایه یا تعداد ابعاد ndim است.
  • ndarray.size
    • تعداد کل عناصر آرایه است. این مقدار برابر با حاصل‌ضرب اجزای shape است.
  • ndarray.dtype
    • نوع عناصر یک آرایه را توصیف می‌کند. فرد می‌تواند dtype آرایه را با استفاده از انواع استاندارد پایتون ایجاد یا توصیف کند. به‌علاوه NumPy انواع مخصوص به خود را نیز دارد. برای مثال numpy.int32، numpy.int16 و numpy.float64 نمونه‌هایی از انواع آرایه تعریف شده در NumPy هستند.
  •  ndarray.itemsize
    • اندازه بایت‌های هر یک از عناصر آرایه است. برای نمونه itemsize یک آرایه از عناصری با نوع float64 برابر با 8 (64/8) است در حالی که itemsize یک آرایه از نوع complex32 برابر با 4 (32/8) است. این مقدار معادل ndarray.dtype.itemsize است.
  •  ndarray.data
    • این بافر (buffer) حاوی عناصر واقعی آرایه است. به‌طورمعمول ما نیاز نداریم از این خصوصیت استفاده کنیم، زیرا با استفاده از امکان اندیس‌گذاری می‌توانیم به عناصر آرایه دسترسی داشته باشیم.

در مثال زیر میتوانیم نحوه کار با ویژگی های فوق را مشاهده کنیم:

 

پرینت کردن آرایه‌ها

زمانی که یک آرایه را چاپ می‌کنید NumPy آن را به صوت یک فهرست تودرتو نمایش می‌دهد که طرح کلی آن به‌صورت زیر است:

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

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

برای این‌که این حالت را غیرفعال کنیم و NumPy کل آرایه را پرینت بگیرد، می‌توانیم با استفاده از گزینه set_printoptions رفتار آن را تغییر دهیم.

 

 

مطالب زیر را حتما بخوانید

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

نشانی ایمیل شما منتشر نخواهد شد.