آشنایی با Numpy، کتابخانهی ریاضیات در پایتون
numpy، که مخفف Numerical Python میباشد، کتابخانهای است که برای عملیات ریاضی و منطقی استفاده میشود. ما برای کار بر روی دادهها، نیاز داریم تا عملیات ریاضی با سرعت زیادی انجام شوند. numpy به دلیل سرعت بیشتر و کاربرد آسانتر، میتواند جایگزین خوبی برای کتابخانهی math پایتون باشد. در numpy به جای لیستِ پایتون، از آرایه استفاده میکنیم.
توصیه میشود قبل از خواندن این مقاله، مقالههای آشنایی با jupyter notebook و matplotlib را بخوانید.
نصب Numpy
ساده ترین روش برای نصب numpy، استفاده از Anaconda است. Anaconda توزیعی برای پایتون است، که شامل بیش از ۴۰۰ بسته محبوب برای ریاضیات، مهندسی، تجزیه و تحلیل دادهها و غیره میباشد. برای دانلود این توزیع به صفحه دانلود آن مراجعه کنید و مطابق سیستم عامل خود آن را دانلود و نصب کنید.
روش دیگر نصب numpy از طریق pip است. در خط فرمان عبارت زیر را وارد کنید:
pip install numpy
مقایسه زمان اجرا و حافظه اشغال شده لیست در مقابل آرایه
ابتدا کتابخانههای مورد نیاز خود را import میکنیم. کتابخانهی time برای محاسبهی زمان اجرا و sys برای دیدن حافظه اشغال شده، استفاده میشوند.
اندازه لیست و آرایه خود را برای مثال برابر ۱۰ به توان ۷ قرار میدهیم. با استفاده از متد getsizeof حافظه اشغال شده به بایت را میگیریم و با تقسیمِ آن بر ۲ به توان ۲۰ به مگابایت میرسیم.
همانطور که میبینید زمان اجرا و همچنین حافظه اشغال شدهی آرایه از لیست کمتر است (برای شما ممکن است عدد متفاوتی را نشان دهد.)
آرایهها
برای ایجاد یک آرایه که مقادیر ۱، ۲ و ۳ را در خود دارد، از دستور زیر استفاده میکنیم:
همچنین numpy از آرایههای چند بعدی هم پشتیبانی میکند. برای ساخت آرایهای دوبعدی از دستور زیر استفاده میکنیم:
توصیه میشود برای ساخت آرایه ۳ بعد به بالا، ابتدای آرایه تک بعدی بسازید و سپس با استفاده از متد reshape ابعاد آن را عوض کنید:
عملیات بر روی آرایهها
-
دسترسی به عناصر
برای دسترسی به عناصر مانند لیست عمل میکنیم. برای دسترسی به عناصر آرایههای دو بعد به بالا از کاما استفاده میکنیم.
-
اضافه کردنِ عنصر
برای اضافه کردن عنصر از متد append استفاده میکنیم.
در نظر داشته باشید که متد append، آرایه را به یک بعد تغییر میدهد، پس برای اضافه کردن به آرایههای دو بعدی از متد vstack و برای آرایههای ۳ بُعد به بالا بَعد از استفاده از متد append، بُعد آن را با متد reshape به بُعد مورد نظر خود تغییر دهید.
-
درجِ عنصر
برای درجِ عنصر از متد insert استفاده میکنیم. این متد ۳ پارامتر میگیرد: نام آرایه، مکانِ درج و مقدارِ درج
عمل درج هم مانند اضافه کردن، بعد آرایه را به یک بعد تغییر میدهد.
-
حذف عنصر
برای حذف عنصر از متد delete استفاده میکنیم. متد delete دو پارامتر میپذیرد: نام آرایه و مکان حذف
عمل حذف هم بعد آرایه را به یک بعد تغییر میدهد.
-
جایگزینیِ عنصر
توابع numpy
- ndim: تعداد بعدِ آرایه را نمایش میدهد.
- shape: ابعاد آرایه را نشان میدهد.
- dtype: نوعِ مقادیر داخلِ آرایه را نشان میدهد.
numpy از انواع مختلفی مقادیر عددی پشتیبانی میکند.
برای تغییر نوع مقادیر عددی در هنگام ایجاد آرایه پارامتر dtype را برابر نوعِ مورد نظر قرار دهید.
متدهای دیگرِ numpy
- linspace: با دادن حد بالا، حد پایین و تعداد اعداد، یک ترکیب خطی از اعدادِ بین دو حد، ایجاد میکند.
- ones: به ابعاد دلخواه ۱ ایجاد میکند.
- zeros: به ابعاد دلخواه ۰ ایجاد میکند.
- rand: هدف اصلیِ کلاس rand تولید اعداد تصادفی است. از متدهای آن میتوان به random و normal اشاره کرد.
متد random به ابعاد دلخواه عدد تصادفی بین ۰ و ۱ تولید میکند.
متد normal، توزیع نرمالی از اعداد تصادفی تولید میکند. این متد ۳ پارامتر اصلی میپذیرد: میانگین، انحراف معیار و تعداد دادهها
کلاسِ rand از انواع مختلف توزیعها پشتیبانی میکند. برای مشاهده لیست کاملِ توزیعها به این لینک مراجعه کنید.
- full: آرایه را با یک مقدار به ابعاد دلخواه پر میکند.
متدهای ریاضی numpy
numpy از توابع مختلفی پشتیبانی میکند. برای مثال تابع سینوس به صورت زیر است:
برای مشاهده لیست کامل متدهای ریاضی به این لینک مراجعه کنید.
کلام آخر…
کتابخانهی numpy دارای ابزارهای گستردهای میباشد و در این مقاله سعی شد به برخی از مهمترینِ آنها پرداخته شود. برای مطالعه کامل ابزارهای آن میتوانید به لینک documentation آن مراجعه کنید. همچنین میتوانید کدهای مقاله را از این لینک دریافت کنید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.