کتابخانه Numpy در پایتون – راهنمای سریع
کتابخانه Numpy یک کتابخانه مهم پایتون برای دانشمندان داده محسوب میشود و موردی است که حتماً باید با آن آشنا باشند. آرایههای Numpy مانند لیستهای پایتون هستند؛ اما عملکردی بهتر از آن دارند. دستکاری یک آرایه Numpy سادهتر از دستکاری لیست پایتون است. شما میتوانید از یک آرایه Numpy به جای چند لیست پایتون استفاده کنید. همچنین آرایههای Numpy محاسباتی سریعتر از لیستها دارند و برای اجرای عملیات ریاضیاتی و منطقی بسیار کارآمدتر هستند. بنابراین میتوان گفت Numpy ابزار مفیدی است که باید آن را بشناسید.
این مقاله در واقع یک برگه تقلب سریع محسوب میشود که مروری سریع روی مبانی Numpy و همچنین متدهای مفید آن ارائه میکند. در این نوشته به بررسی مقداردهی اولیه آرایههای Numpy به چند روش مختلف، دسترسی به مقادیر درون آرایهها، اجرای عملیات ریاضیاتی و ماتریسی و همچنین بهرهگیری از آرایهها برای ماسک کردن و مقایسه میپردازیم. آرایههای Numpy برای حل مسائل کدنویسی در پایتون بسیار مفید هستند.
Numpy
قبل از هر چیز باید Numpy را با کد زیر در پروژه خود ایمپورت کنید:
1import numpy as np
روشهای مختلف برای ایجاد آرایههای Numpy
برخلاف لیست در پایتون؛ در هنگام استفاده از آرایههای Numpy نمیتوانیم آرایه خالی ایجاد کنیم.
در ادامه روشهای مختلف برای مقداردهی اولیه آرایه Numpy بسته به نیازهای گوناگون را نشان دادهایم:
اگر لیستی دارید که میخواهید آن را به آرایه Numpy تبدیل کنید، میتوانید به صورت زیر به راحتی این کار را انجام دهید:
دسترسی به عناصر در آرایه
میتوان به هر آیتم منفرد یا بخشی از دادههای آرایه دسترسی یافت. همانند لیستها، عنصر نخست آرایه Numpy در اندیس 0 قرار دارد.
برای نمونه [array1[0,0 نشاندهنده این است که به ردیف نخست و ستون نخست array1 دسترسی یافتهایم. عدد نخست در چندتایی [0,0] نشاندهنده اندیس ردیف و عدد دوم نشاندهنده اندیس ستون است.
Broadcasting
منظور از Broadcast کردن توصیف روش رفتار numpy با شکلهای گوناگون در طی عملیات حسابی است. Broadcasting روشی است که با آن میتوانیم حاصلضرب دو آرایه را به دست آوریم.
بر اساس مستندات: «وقتی روی دو آرایه عملیاتی اجرا میکنیم، Numpy شکل آن دو را به صورت عنصر به عنصر بررسی میکند. بدین ترتیب دو بُعد زمانی با هم مطابقت دارند که دو شرط زیر برقرار باشند:
- برابر باشند.
- و یا یکی از آنها 1 باشد.
اگر این شرایط برقرار نباشد، یک استثنای ValueError: frames are not aligned صادر میشود که نشان میدهد آرایههایی با شکل نامطابق داریم.»
جهت دریافت موفق محصول خروجی باید از reshape استفاده کنیم. این متد شکل آرایه را طوری تغییر میدهد که آن را برای عملیات Numpy سازگار میسازد.
محاسبههای ریاضیاتی و ماتریسی
یکی از دلایلی که آرایههای Numpy تا این حد محبوب هستند، این است که دستکاری آنها کاملاً آسان است. بدین ترتیب میتوان آرایهها را تنها با یک خط کد، الحاق، جمع و ضرب کرد یا ترانهاده آنها را محاسبه کرد.
در ادامه مثالهایی از عملیات مختلف حسابی و ریاضیاتی آرایههای Numpy را ارائه کردهایم. برخی از عملیات دیگر که در این بخش ارائه نشده را نیز میتوانید در مستندات (+) ملاحظه کنید.
ویژگی جالب دیگر آرایههای Numpy، امکان الحاق، افراز، تعیین ترانهاده و دریافت عناصر قطری است:
در کد فوق axis = 0 به رایانه اعلام میکند که میخواهیم ردیفها را درهم الحاق کنیم. اگر به جای آن axis = 1 بیان میشد معنی آن چنین بود که میخواهیم ستونها را در هم الحاق کنیم.
مقایسه و ماسک کردن
کار مفید دیگری که روی آرایههای Numpy میتوان انجام داد، مقایسه یک آرایه با آرایه دیگر است. هنگام مقایسه آرایهها، یک ماتریس بولی بازگشت مییابد.
میتوان از این ماتریس بولی برای کارهای مختلفی استفاده کرد. یکی از این کارها ماسک کردن بولی است. زمانی که از یک ماتریس بولی به عنوان یک ماسک استفاده میکنیم، میتوانیم زیرمجموعههای خاصی از دادهها را که مورد علاقه ما است انتخاب کنیم.
به علاوه، طیف متنوعی از عملگرهای مقایسهای دیگر نیز برای مقایسه آرایهها وجود دارد که شامل عملگر == (برابری)،!= (عدم برابری)، <= (کمتر مساوی)، است. حتی میتوان دو گزاره بولی را به وسیله (&) یا (I) با هم ترکیب کرد.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزش های برنامه نویسی پایتون
- آموزش تکمیلی برنامه نویسی پایتون
- مجموعه آموزش های آمار، احتمالات و دادهکاوی
- آموزش کار با پیش پردازش ها در یادگیری ماشین با پایتون (Python)
- کتابخانه NumPy پایتون – راهنمای جامع — بخش اول
- تقلبنامه (Cheat Sheet) پایتون برای علم داده (کتابخانه NumPy)
- برنامه نویسی پایتون (Python) با کتابخانه NumPy — به زبان ساده
==