NumPy یکی از کتابخانههای پایتون است که جهت کار با آرایهها میتوان از این کتابخانه استفاده کرد و از قابلیتهای زیاد و جذاب آن لذت برد. این کتابخانه دارای توابعی برای کار در حوزه جبر خطی، ریاضی، تبدیل فوریه و کار با انواع ماتریسها است. NumPy در سال 2005 توسط Travis Oliphant معرفی و ایجاد شد. این یک پروژه متن باز (Open Source) است و میتوانید آزادانه از آن استفاده کنید. NumPy مخفف Numerical Python است. در پایتون میتوان از لیستها نیز استفاده کرد که میتوانند هدف ما را از تولید آرایهها محقق کنند، اما پردازش آنها کند است. NumPy یک کتابخانه پایتون است و تا حدی در پایتون نوشته شده است، اما بیشتر قسمتهایی که نیاز به محاسبات سریع دارند به زبان C یا C++ نوشته شدهاند.
هدف NumPy ارائه یک شیء آرایهای (به شما امکان میدهد چندین مقدار را در یک متغیر ذخیره کنید) است که تا 50 برابر سریعتر از لیستهای سنتی پایتون است. شیء آرایه در NumPy به صورت ndarray نامیده میشود که توابع پشتیبانی زیادی را ارائه میدهد که کار با ndarray را بسیار آسان میکند. آرایهها اغلب در علم داده استفاده میشوند، جایی که سرعت و منابع بسیار مهم هستند. علم داده شاخهای از علوم کامپیوتر است که در آن به مطالعه نحوه ذخیره، استفاده و تجزیه و تحلیل دادهها برای استخراج اطلاعات از آن میپردازد.
آرایههای NumPy بر خلاف لیستها در یک مکان پیوسته در حافظه ذخیره میشوند، بنابراین فرآیندها میتوانند به طور بسیار کارآمد به آنها دسترسی داشته باشند و آنها را دستکاری کنند.
نصب NumPy
برای نصب NumPy، ابتدا باید طبق آموزشهایی که در بخشهای قبلی نحوه نصب ماژول بیان شد، مراحل را طی کنید تا این کتابخانه به پایتون اضافه شود و بتوانید از قابلیتهای آن استفاده کنید. در صورت عدم نصب، پایتون به شما خطای عدم شناخت این ماژول را میدهد. پس از انجام مراحل مورد نیاز جهت نصب ماژول میتوانید در محیط پایتون دستور import numpy را تایپ و انتر کنید. در صورت دریافت خطا، حتماً باید از نصب درست ماژول numpy اطمینان حاصل کنید. سپس از دستور array جهت ایجاد یک آرایه استفاده و در نهایت از دستور print جهت نمایش آرایه استفاده کنید.
استفاده از نام مستعار np به جای numpy
جهت افزایش سرعت در نوشتن کدها در پایتون میتوان نام ماژولها را به شکل مختصر نیز تبدیل کرد و به جای استفاده از کلمه numpy از کلمه np که مخفف شده آن است استفاده کرد. البته اجباری به نوشتن کلمه مخفف np نیست و میتوان هر کلمه دیگری را نیز به جای numpy نام گذاری کرد اما این نام در بین برنامه نویسان رایج و به یک اسم مستعار تبدیل شده است. چگونگی استفاده از دستور numpy و نیز تبدیل اسم این ماژول به np به کمک دستور import numpy as np در شکل 1 نشان داده شده است. میتوان با استفاده از تابع ()array یک شیء ndarray ایجاد کرد. برای ایجاد یک ndarray، میتوان یک لیست، تاپل یا هر شیء آرایه مانندی را به متد ()array اضافه و آن را به یک ndarray تبدیل کرد.
شکل1) نحوه استفاده از ماژول numpy جهت تولید آرایه
چگونگی تعیین نسخه نصب شده numpy
جهت مشاهده نسخه نصب شده از numpy میتوانید مطابق شکل ۲، از دستور version استفاده کنید. همانطور که در این شکل مشخص است نسخه نصب شده فعلی 1.22.4 است.
شکل 2) چگونگی تعیین نسخه نصب شده از ماژول numpy
ابعاد آرایهها
در آرایهها یک سطح از عمق آرایههای تودرتو هستند. آرایههای تو در تو، آرایههایی هستند که آرایههایی را به عنوان المان یا عناصر خود دارند.
آرایههای صفر بعدی
آرایههای صفر بعدی یا اسکالر، عناصر یک آرایه هستند. هر مقدار در یک آرایه را یک آرایه صفر بعدی مینامند.
آرایههای یک بعدی
آرایهای که دارای آرایههای صفر بعدی به عنوان عناصر آن باشد، آرایه تک بعدی یا یک بعدی نامیده میشود. آرایههای یک بعدی رایجترین و اساسیترین نوع آرایهها هستند.
آرایههای دو بعدی
آرایهای که دارای آرایههای یک بعدی به عنوان عناصر آن است، آرایه دو بعدی نامیده میشود. اینها اغلب برای نشان دادن ماتریس یا تنسورهای مرتبه دوم استفاده میشوند.
آرایههای سه بعدی
آرایهای که دارای آرایههای دو بعدی (ماتریس) به عنوان عناصر آن است، آرایه سه بعدی نامیده میشوند. این نوع آرایه معمولاً برای نشان دادن یک تنسور مرتبه 3 استفاده میشوند.
تعیین ابعاد آرایه
جهت تعیین ابعاد یک آرایه در پایتون میتوانید از دستور ndim استفاده کنید که خروجی این دستور یک عدد است که مشخص کننده ابعاد آرایه مورد نظر است. شکل ۳ به ترتیب نحوه ایجاد آرایهای صفر بعدی، یک بعدی، دو بعدی و سه بعدی را نشان میدهد. همانطور که در این شکل مشخص است دستور ndim ابعاد متناظر با هر آرایه را مشخص کرده است.
شکل ۳) نحوه ایجاد آرایه و تعیین ابعاد آن
ایجاد آرایههای ابعاد بالا
یک آرایه میتواند هر تعداد ابعاد داشته باشد. هنگامی که آرایه ایجاد میشود، میتوانید تعداد ابعاد را با استفاده از آرگومان ndmin تعریف کنید. به طور مثال اگر بخواهید یک آرایه با ابعاد 5 ایجاد کنید میتوانید مطابق شکل 4 عمل کنید. در این آرایه درونیترین بعد (بعد پنجم) دارای 6 عنصر است، بعد چهارم دارای 1 عنصر است که بردار است، بعد سوم دارای 1 عنصر است که ماتریس با بردار است، بعد دوم دارای 1 عنصر است که آرایه سه بعدی است و بعد اول دارای 1 عنصر است که یک آرایه 4 بعدی است.
شکل 4) ایجاد آرایه مرتبه بالا
دسترسی به عناصر آرایه یک بعدی
اندیس آرایه مانند دسترسی به یک عنصر آرایه است. با مراجعه به یک عنصر آرایه میتوان به شماره اندیس آن دسترسی پیدا کرد. اندیسها در آرایههای NumPy با صفر شروع میشوند، به این معنی که عنصر اول دارای اندیس صفر و عنصر دوم دارای اندیس 1 و به همین صورت ادامه پیدا میکند. شکل 5 نحوه فراخوانی عناصر یک آرایه را نشان میدهد. همانطور که مشاهده میکنید متغیر x دارای 6 عنصر است. برای اینکه بتوان به عنصر دوم و چهارم دسترسی پیدا کرد اندیسها به ترتیب 1 و 3 انتخاب شدهاند. طبیعی است در حالتی که اندیس 6 استفاده شود میبایست آرایه دارای حداقل 7 عنصر باشد که با توجه به اینکه آرایه معرفی شده دارای 6 عنصر است مثال سوم در این شکل با خطا همراه شده است.
شکل ۵) نحوه دستیابی به عناصر یک آرایه یک بعدی
دسترسی به عناصر آرایه دو بعدی
برای دستیابی به عناصر آرایههای دو بعدی، میتوانید از اعداد صحیح جدا شده با کاما استفاده کنید که نشانگر بعد و اندیس عنصر هستند. آرایههای دو بعدی را مانند جدولی با سطرها و ستونها در نظر بگیرید، جایی که سطر نشان دهنده بعد و ستون بیانگر اندیس است. برای درک بهتر موضوع میتوانید به مثالهای ذکر شده در شکل 6 توجه کنید. در این مثال ابتدا یک ماتریس دو بعدی تعریف و سپس به ترتیب عنصر سوم از ردیف دوم این آرایه که 7 است استخراج و در ادامه عنصر دوم از ردیف اول که 42 است انتخاب شده است.
شکل 6) نحوه دستیابی به عناصر یک آرایه دو بعدی
دسترسی به آرایههای سه بعدی
برای دسترسی به عناصر از آرایههای سه بعدی میتوان از اعداد صحیح جدا شده با کاما که بعد و اندیس عنصر مورد نظر را نشان میدهند استفاده کرد. همانطور که در شکل 7 مشاهده میکنید، یک ماتریس سه بعدی ایجاد شده است که در مثال اول عدد 87 متناظر با عنصر سوم از آرایه اول از آرایه دوم است و عدد 8- نیز مرتبط با به عنصر چهارم از آرایه دوم از آرایه اول است.
شکل 7) نحوه دستیابی به عناصر یک آرایه سه بعدی
دیدگاه ها