آشنایی با numpy در پایتون

احتمالاً تا حالا به محاسبات آرایه ای و کار با بردار ها و ماتریس ها داخل پایتون برخورد کردین. کتابخانه numpy خیلی از اعمال محاسبات برداری، ماتریسی، جبر خطی، آماری، تبدیلات فوریه گسسته و … رو با سرعت بالا و بهینه انجام میده.

numpy0

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

کار با کتابخونه numpy

اولین قدم نصب این کتابخونه داخل پایتون هست. داخل محیط commond prompt دستور زیر را تایپ میکنیم؛

Pip install numpy

بعد از نصب موفقیت آمیز، باید کتابخانه داخل محیط کد اضافه کنیم؛

Import numpy as np

حالا به جای کلمه numpy میتونیم از np استفاده کنیم که کوتاه تر و راحت تره.

خب حالا باید یک ارایه تعریف کنیم (امّا قبل از این کار، یک نکته مهم وجود دارد و اون اینه که داده های داخل آرایه باید یکی باشن).

دستور زیر را در داخل <strong>console</strong> (یا commond prompt) تایپ کنین؛

a = np.array([1,2,3])

با دستور زیر هم میتونین به هرکدوم از عناصر آرایه دسترسی داشته باشین؛

a[2] = 3

indexing داخل آرایه های numpy از صفر شروع میشه. یعنی اوّلین آرایه با index صفر نمایش داده میشود. نکته ای که جالبه اینه که شما با index های منفی میتونین ار آخر آرایه عنصر رو انتخاب کنین. اگر خواستید نوع داده های آرایه رو با int یا float انتخاب کنید، کافیه دستور رو به شکل زیر اصلاح کنین.

a = np.array([1,2,3]),float)
#or
a = np.array([1,2,3]),int)

با دستور a.dtype هم میتونین نوع داده داخل آرایه رو بفهمین.

numpy-logo

 

آرایه های چند بعدی

به آرایه ای که فقط یک بُعد (dimension) داشته باشد، بردار (vector) میگن. به آرایه های دو بعدی ماتریس (Matrix) و آرایه های با ابعاد بیشتر تانسور (Tensor) میگویند.

در numpy به جای بعد از اصطلاح محور (axis) استفاده میشه. یک ماتریس دو بعدی به صورت زیر با numpy تعریف میشه؛

b = np.array([[1,2,3],[4,5,6]])

با استفاده از دستور shape میتونیم ابعاد آرایه رو بفهمیم.

b.shape

که مقدار (۲,۳) رو به ما میده. میشه گفت ۲ تعداد ردیف ماتریس و ۳ تعداد ستون است.

 

همچنین میتونیم از دستورات زیر برای دسترسی به؛

 

عنصر i ام و ستون j ام:

C[i-1,j-1]

کل سطر i ام آرایه:

C[i-1,:]

کل ستون j ام آرایه:

C[:,j-1]

استفاده کنیم.

اغلب لازم هست یک ماتریس با ابعاد خاصی که المان هایش، صفر و یک یا رندوم هستند و یا ترتیبی دارن (مانند اعداد طبیعی) رو درست کنیم.

دستورات زیر چند نمونه از این ماتریس ها رو نشون میدن.

برداری که تمام المان هایش صفر هستند.

a = np.zeros(n)

برداری که تمام المان هایش یک هستند.

a = np.ones(n)

برداری که المان های داخلی اش به ترتیب از صفر تا یک هستند (شامل خود ۶).

a = np.arange(n)

اگر هم بخواهیم اعدادی با فاصله یا گام (step) نسبت به هم قرار دهیم، این دستور را پیاده میکنیم؛

b = np.arange(2,13,3)

این دستور اعداد بین ۲ تا ۱۳ رو با گام ۳ داخل یک آرایه قرار میده.

گاهی ممکنه بخواهیم بازه ای خاص رو به n قسمت تقسیم کنیم. با استفاده از دستور زیر این کار ممکن هست؛

C = np.linespace(a,b,d)

 


 

در صورتی که سؤالی دارید، میتونید در قسمت دیدگاه ها سؤال خودتونو بیان کنید.

الیاس کریمی

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *