فهرست سرفصل‌های NumPy
خانه (HOME) مقدمه (Intro) شروع کار (Getting Started) ساخت آرایه ها (Creating Arrays) ایندکس گذاری آرایه (Array Indexing) برش آرایه (Array Slicing) انواع داده (Data Types) کپی در برابر View (Copy vs View) شکل آرایه (Array Shape) تغییر شکل آرایه (Array Reshape) حلقه روی آرایه (Array Iterating) ترکیب آرایه ها (Array Join) تقسیم آرایه ها (Array Split) جستجو در آرایه (Array Search) مرتب سازی آرایه (Array Sort) فیلتر کردن آرایه (Array Filter) مقدمه تصادفی سازی (Random Intro) توزیع داده (Data Distribution) جابه جایی تصادفی (Random Permutation) ماژول Seaborn (Seaborn Module) توزیع نرمال (Normal Distribution) توزیع دوجمله ای (Binomial Distribution) توزیع پواسون (Poisson Distribution) توزیع یکنواخت (Uniform Distribution) توزیع لجستیک (Logistic Distribution) توزیع چندجمله ای (Multinomial Distribution) توزیع نمایی (Exponential Distribution) توزیع کای دو (Chi Square Distribution) توزیع ریلی (Rayleigh Distribution) توزیع پارتو (Pareto Distribution) توزیع زیف (Zipf Distribution) مقدمه ufunc (ufunc Intro) ساخت تابع ufunc (ufunc Create Function) حساب ساده با ufunc (ufunc Simple Arithmetic) گرد کردن اعشار با ufunc (ufunc Rounding Decimals) لگاریتم ها با ufunc (ufunc Logs) جمع ها با ufunc (ufunc Summations) حاصل ضرب ها با ufunc (ufunc Products) تفاضل ها با ufunc (ufunc Differences) کمترین مضرب مشترک با ufunc (ufunc Finding LCM) بزرگترین مقسوم علیه مشترک با ufunc (ufunc Finding GCD) توابع مثلثاتی با ufunc (ufunc Trigonometric) توابع هذلولوی با ufunc (ufunc Hyperbolic) عملیات مجموعه ای با ufunc (ufunc Set Operations) ویرایشگر (Editor) آزمون (Quiz) تمارین (Exercises) سرفصل دوره (Syllabus) برنامه مطالعه (Study Plan) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
NumPy

NumPy — مقدمه (Intro)

آخرین بروزرسانی: 1404/08/25

مقدمه (Intro)

در این صفحه یک مقدمه نامپای خیلی ساده می بینی. در ادامه می فهمی NumPy چیست. همچنین می بینی چرا برای عددها و آرایه ها محبوب است.

نامپای (NumPy) دقیقا چه کار می کند؟

نامپای (NumPy) یک کتابخانه (Library) پایتون است. کتابخانه یعنی جعبه ابزار آماده برای برنامه نویس. NumPy مخصوص کار با آرایه ها (Array) ساخته شده است.

با نامپای می توانی روی عددها کارهای جدی انجام بدهی. مثلا در جبر خطی (Linear Algebra) کمک می کند. همچنین در تبدیل فوریه (Fourier Transform) و ماتریس ها هم استفاده می شود.

نامپای در سال 2005 ساخته شده است. سازنده آن تراویس الیفانت (Travis Oliphant) است. این پروژه متن باز (Open Source) است و می توانی آزاد از آن استفاده کنی.

کلمه NumPy مخفف Numerical Python است. یعنی «پایتون عددی». دقیقا انگار نسخه تقویت شده پایتون برای حساب وکتاب سنگین است.

چرا از نامپای به جای لیست معمولی استفاده کنیم؟

در پایتون لیست (List) شبیه آرایه است. اما وقتی داده زیاد شود، لیست ها کند کار می کنند. مخصوصا وقتی مدام روی آن ها حلقه می زنی.

هدف نامپای این است که آرایه ای خیلی سریع تر بدهد. در منبع گفته شده که تا حدود 50 برابر از لیست های معمولی سریع تر است. این تفاوت در پروژه های بزرگ کاملا محسوس است.

آرایه نامپای با نوع ndarray شناخته می شود. این نوع کلی تابع کمکی هم دارد. این تابع ها کار با ndarray را ساده و منظم می کنند.

آرایه ها در علم داده (Data Science) خیلی استفاده می شوند. علم داده یعنی ذخیره، استفاده و تحلیل داده برای گرفتن نتیجه. در این حوزه سرعت و مصرف حافظه واقعا مهم است.

نکته: هر وقت دیتای عددی زیاد داری، نامپای اولین گزینه است. چون هم کدها مرتب می شوند و هم اجرا سریع تر می شود.

چرا نامپای از لیست ها سریع تر است؟

آرایه نامپای پشت صحنه یک تکه در حافظه ذخیره می شود. یعنی خانه های آرایه پشت سرهم هستند، نه پراکنده مثل لیست.

این رفتار را در علوم کامپیوتر «محلیت مراجعه» یا locality of reference می گویند. یعنی پردازنده وقتی یک جای حافظه را می خواند، بقیه نزدیک هایش هم آماده هستند.

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

نامپای با چه زبانی نوشته شده است؟

نامپای از نگاه ما یک کتابخانه پایتون است. اما همه چیز آن فقط با پایتون نوشته نشده است.

بخش هایی که نیاز به محاسبات خیلی سریع دارند، با C یا ++C نوشته شده اند. زبان C برای کار نزدیک به سخت افزار مناسب است. به همین دلیل سرعت بالایی می دهد.

خود پایتون خواندن و نوشتن کد را راحت کرده است. اما ترکیب پایتون با C باعث می شود هم کد ساده بماند و هم اجرا سریع شود.

کد منبع نامپای کجا قرار دارد؟

کد منبع نامپای در گیت هاب (GitHub) نگه داری می شود. گیت هاب سرویسی است که اجازه می دهد افراد زیادی روی یک کد همکاری کنند.

آدرس مخزن رسمی نامپای این است: https://github.com/numpy/numpy. اگر دوست داشتی می توانی کد را ببینی. حتی می توانی مشارکت کنی و باگ ها را گزارش بدهی.

نکته: دیدن کد پروژه های معروف مثل نامپای، برای یادگیری خیلی مفید است. حتی اگر اولش همه چیز را نفهمی، با ساختار حرفه ای کد آشنا می شوی.

بعد از این مقدمه نامپای به کجا برویم؟

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

سپس پیشنهاد می شود صفحه شروع کار با نامپای را بخوانی. آن جا یاد می گیری چطور نامپای را نصب و در کد import کنی.

برای جزئیات بیشتر هم همیشه می توانی منبع اصلی را ببینی. مثلا صفحه آموزش NumPy در W3Schools همین نکات را به انگلیسی توضیح می دهد.

اگر خیلی کنجکاوی، یک بار هم خود مخزن مخزن NumPy در گیت هاب را باز کن. با دیدن پوشه ها و فایل ها، کم کم با ساختار پروژه های بزرگ آشنا می شوی.

جمع بندی سریع

  • نامپای کتابخانه مخصوص عدد و آرایه در پایتون است.
  • آرایه های نامپای از لیست های معمولی خیلی سریع تر هستند.
  • بخش های حساس نامپای با زبان C و ++C نوشته شده اند.
  • کد منبع نامپای در گیت هاب آزاد و متن باز است.
  • بعد از این مقدمه نامپای، سراغ صفحه شروع کار برو.