همه دسته بندی ها
آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

آموزش کتابخانه NumPy در نرم افزار پایتون Python

 

کتابخانه NumPy چیست؟

NumPy یک بسته پایتون است که مخفف ‘Numerical Python’ است. این کتابخانه اصلی برای محاسبات علمی است که شامل یک شی آرایه n بعدی قدرتمند است.

آرایه های Python NumPy ابزاری را برای ادغام C ، C ++ و غیره فراهم می کنند. همچنین در جبر خطی ، قابلیت تعداد تصادفی و غیره نیز مفید است و می توان از آن به عنوان یک ظرف چند بعدی کارآمد برای داده های عمومی استفاده کرد.

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

 

آرایه Numpy یک شی آرایه قدرتمند N بعدی است که به صورت ردیف و ستون است. می توانیم آرایه های NumPy را از لیست های تو در تو پایتون مقداردهی اولیه کرده و به عناصر آن دسترسی پیدا کنیم.

برای انجام این عملیات NumPy ، سوال بعدی که در ذهن شما ایجاد می شود این است که چگونه NumPy را نصب کنم؟

برای نصب Python NumPy ، به خط فرمان خود بروید(cmd) و “pip install numpy” را تایپ کنید.

پس از اتمام نصب ، به IDE خود بروید (به عنوان مثال: PyCharm) و به سادگی با وارد کردن آن: “import numpy as np” آن را وارد کنید

 

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

در اینجا ، ما عناصر مختلفی داریم که در مکان حافظه مربوطه ذخیره می شوند.

گفته می شود دو بعدی است زیرا دارای ردیف و همچنین ستون است. در تصویر بالا ، 3 ستون و 4 ردیف در دسترس داریم.

چگونه NumPy را شروع کنم؟

بیایید ببینیم که چگونه در PyCharm پیاده سازی می شود:

 

Single-dimensional Numpy Array:

import numpy as np

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

print(a)

1

2

3

Output – [1 2 3]

 

Multi-dimensional Array:

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

print(a)

1

2

Output – [[ 1 2 3]
[4 5 6]]

 

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

 

چرا NumPy در پایتون استفاده می شود؟

ما به دلیل سه دلیل زیر از آرایه پایتون NumPy به جای لیست استفاده می کنیم:

  1. حافظه کمتر
  2. سریع
  3. راحت

اولین دلیل انتخاب آرایه پایتون NumPy این است که حافظه کمتری را در مقایسه با لیست اشغال می کند.

سپس ، از نظر اجرا بسیار سریع است و در عین حال کار با NumPy بسیار راحت است. بنابراین این مزایای عمده آرایه Python NumPy نسبت به لیست است.

ما قصد دارم نکات فوق را یکی یکی به صورت عملی در PyCharm اثبات کنم. به مثال زیر توجه کنید:

 

import numpy as np

import time

import sys

S= range(1000)

print(sys.getsizeof(5)*len(S))

D= np.arange(1000)

print(D.size*D.itemsize)

1

2

3

4

5

6

7

8

9

Output –  14000

4000

خروجی فوق نشان می دهد که حافظه اختصاص داده شده توسط لیست (نشان داده شده توسط S) 14000 است در حالی که حافظه اختصاص داده شده توسط آرایه NumPy فقط 4000 است.

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

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

لایسنس تبلو

import time

import sys

SIZE = 1000000

L1= range(SIZE)

L2= range(SIZE)

A1= np.arange(SIZE)

A2=np.arange(SIZE)

start= time.time()

result=[(x,y) for x,y in zip(L1,L2)]

print((time.time()-start)*1000)

start=time.time()

result= A1+A2

print((time.time()-start)*1000)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

O/P – 380.9998035430908
49.99995231628418

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

اگر خروجی برنامه فوق را مشاهده کنید ، در این دو مقدار تغییر قابل توجهی وجود دارد. لیست 380 میلی ثانیه طول کشید در حالی که آرایه numpy تقریبا 49 میلی ثانیه طول کشید. از این رو ، آرایه numpy سریعتر از لیست است.

حال ، اگر متوجه شده اید که ما یک حلقه “for” برای لیستی اجرا کرده ایم که هم پیوند هر دو لیست را برمی گرداند در حالی که برای آرایه های numpy ، ما فقط دو چاپ آرایه را با چاپ ساده A1 + A2 اضافه کرده ایم. به همین دلیل کار با numpy در مقایسه با لیست ها بسیار آسان و راحت است.

بنابراین ، مثالهای فوق این نکته را اثبات می کند که چرا شما باید به جای لیست به سراغ آرایه python numpy بروید!

با جلو رفتن در آموزش python numpy ، بیایید بر روی برخی از عملکردهای آن تمرکز کنیم.

 

عملیات Python NumPy

می توانید ابعاد آرایه را پیدا کنید ، چه آرایه ای دو بعدی باشد و چه یک آرایه تک بعدی. بنابراین ، بگذارید عملاً ببینیم که چگونه می توانیم ابعاد را پیدا کنیم.

در کد زیر ، با کمک تابع ndim ، می توانم پیدا کنم که آرایه تک بعدی است یا چند بعدی.

 

import numpy as np

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

print(a.itemsize)

1

2

3

Output – 4

 

بنابراین هر عنصر 4 بایت در آرایه numpy فوق اشغال می کند. می توانید نوع داده عناصر ذخیره شده در یک آرایه را پیدا کنید. بنابراین ، اگر می خواهید نوع داده یک عنصر خاص را بدانید ، می توانید از عملکرد “dtype” استفاده کنید که نوع داده را به همراه اندازه چاپ می کند.

در کد زیر ، ما یک آرایه را تعریف کرده ایم که در آن از همان عملکرد استفاده کرده ایم.

 

import numpy as np

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

print(a.dtype)

1

2

3

Output – int32

 

همانطور که مشاهده می کنید ، نوع داده آرایه 32 بیت عدد صحیح است. به همین ترتیب ، می توانید اندازه و شکل آرایه را به ترتیب با استفاده از عملکرد “size” و “shape” پیدا کنید.

import numpy as np

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

print(a.size)

print(a.shape)

1

2

3

4

Output – 6 (1,6)

 

در مرحله بعد ، اجازه دهید ما به جلو حرکت کنیم و ببینیم سایر کارهایی که می توانید با ماژول numpy انجام دهید چیست؟ همچنین می توانیم با استفاده از عملیات numpy پایتون ، عملیات تغییر شکل و همچنین برش را انجام دهیم.

اما ، تغییر شکل و برش دقیقاً چیست؟

تغییر شکل

تغییر شکل زمانی است که تعداد ردیف ها و ستون ها را تغییر دهید که نمای جدیدی را به یک شی ارائه می دهد

حال ، اجازه دهید مثالی بزنیم تا آرایه زیر را تغییر شکل دهیم:

 

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

 

همانطور که در تصویر بالا مشاهده می کنید ، ما 3 ستون و 2 ردیف داریم که به 2 ستون و 3 ردیف تبدیل شده است. بگذارید من عملاً نحوه انجام کار را به شما نشان دهم.

import numpy as np

a = np.array([(8,9,10),(11,12,13)])

print(a)

a=a.reshape(3,2)

print(a)

1

2

3

4

5

Output – [[ 8 9 10] [11 12 13]] [[ 8 9] [10 11] [12 13]]

برش

همانطور که مشاهده می کنید عملکرد “تغییر شکل” جادوی خود را نشان داده است. حالا ، بیایید یک عمل دیگر انجام دهیم ، یعنی برش دادن.

برش اساساً استخراج مجموعه خاصی از عناصر از یک آرایه است. این عملیات برش تقریباً مشابه عملی است که در لیست وجود دارد. به مثال زیر توجه کنید:

 

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

قبل از شروع به مثال بالا ، بیایید یک نمونه ساده را ببینیم.

ما یک آرایه داریم و از یک آرایه مشخص به یک عنصر خاص (مثلاً 3) نیاز داریم.

بیایید مثال زیر را در نظر بگیریم:

 

import numpy as np

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

print(a[0,2])

1

2

3

Output – 3

در اینجا ، آرایه (1،2،3،4) شاخص 0 و (3،4،5،6) شاخص 1 آرایه numpy پایتون است. بنابراین ، عنصر دوم را از شاخص صفر چاپ کردیم. با یک گام به جلو ، فرض کنید که ما به عنصر 2 از صفر و اولین شاخص آرایه نیاز داریم.

بیایید ببینیم که چگونه می توانید این عملیات را انجام دهید:

 

import numpy as np

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

print(a[0:,2])

1

2

3

Output – [3 5]

لایسنس پاور بی آی

در اینجا دونقطه نشان دهنده همه ردیف ها ، از جمله صفر است. اکنون برای بدست آوردن عنصر 2 ، از هر دو ردیف شاخص 2 را فراخوانی خواهیم کرد که به ترتیب مقدار 3 و 5 را به ما می دهد.

در مرحله بعدی ، فقط برای رفع سردرگمی ، بگذارید بگوییم که یک ردیف دیگر داریم و نمی خواهیم عنصر دوم آن را درست مانند تصویر بالا چاپ کنیم. در چنین حالتی چه کاری می توانیم انجام دهیم؟

کد زیر را در نظر بگیرید:

import numpy as np

a=np.array([(8,9),(10,11),(12,13)])

print(a[0:2,1])

1

2

3

Output – [9 11]

 

همانطور که در کد بالا مشاهده می کنید ، فقط 9 و 11 چاپ می شود.

حالا وقتی 0: 2 نوشتم ، این شامل شاخص دوم ردیف سوم آرایه نیست. بنابراین ، فقط 9 و 11 چاپ می شوند در غیر اینصورت همه عناصر را بدست می آورید یعنی [9 11 13].

این یک عملیات دیگر در numpy پایتون است که اعداد با فاصله مساوی را در یک بازه مشخص برمی گرداند.

به مثال زیر توجه کنید:

import numpy as np

a=np.linspace(1,3,10)

print(a)

1

2

3

Output – [ 1. 1.22222222 1.44444444 1.66666667 1.88888889 2.11111111 2.33333333 2.55555556 2.77777778 3. ]

 

همانطور که در نتیجه می بینید ، 10 مقدار بین 1 تا 3 را چاپ کرده است.

 

max/ min

در مرحله بعدی ، ما چندین عمل دیگر در numpy داریم مانند یافتن حداقل ، حداکثر و همچنین مجموع آرایه numpy. بیایید در آموزش پیش برویم و آن را عملی کنیم.

import numpy as np

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

print(a.min())

print(a.max())

print(a.sum())

1

2

3

4

5

6

Output – 1 3 6

 

حتماً این موارد بسیار ابتدایی را پیدا کرده اید ، اما با کمک این دانش می توانید کارهای بزرگتری را نیز انجام دهید.

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

 

همانطور که در شکل می بینید ، ما یک آرایه numpy 2 * 3 داریم. در اینجا ردیف ها به عنوان محور 1 و ستون ها به عنوان محور 0 فراخوانی می شوند.

حال شما باید این سال را داشته باشید که این محور چه کاربردی دارد؟

فرض کنید می خواهید مجموع ستون ها را محاسبه کنید ، بنابراین می توانید از محور استفاده کنید.

بگذارید به شما نشان دهیم که چگونه می توانید محور را در PyCharm خود پیاده سازی کنید:

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

print(a.sum(axis=0))

1

2

Output – [4 6 8]

بنابراین ، جمع تمام ستون ها در جایی اضافه می شود که 1 + 3 = 4 ، 2 + 4 = 6 و 3 + 5 = 8. به همین ترتیب ، اگر محور را با 1 جایگزین کنید ، آنگاه [6 12] جایی که تمام ردیف ها اضافه می شوند چاپ می شود.

 

ریشه مربع و انحراف استاندارد

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

import numpy as np

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

print(np.sqrt(a))

print(np.std(a))

1

2

3

4

Output – [[ 1. 1.41421356 1.73205081]
[ 1.73205081 2. 2.23606798]]
1.29099444874

 

توابع ویژه Numpy

توابع مختلف مختلفی در سینک وجود دارد مانند سینوس ، کسینوس ، برنزه کردن ، ورود به سیستم و غیره. ابتدا ، بیایید با عملکرد سینوسی شروع کنیم که در آن یاد می گیریم نمودار آن را ترسیم کنیم. برای این منظور ، ماژولی به نام matplotlib را باید وارد کنیم. برای درک اصول و پیاده سازی های عملی این ماژول ، می توانید به آموزش Matplotlib مراجعه کنید.

در حال پیشروی با آموزش، بیایید ببینیم این نمودارها چگونه ترسیم شده اند.

 

import numpy as np

import matplotlib.pyplot as plt

x= np.arange(0,3*np.pi,0.1)

y=np.sin(x)

plt.plot(x,y)

plt.show()

1

2

3

4

5

6

Output –

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

 

به همین ترتیب ، می توانید برای هر تابع مثلثاتی مانند cos ، tan و غیره نمودار بگذارید.

بگذارید یک مثال دیگر به شما نشان دهم که در آن می توانید نمودار یک تابع دیگر را ترسیم کنید ، بگذارید بگوییم tan.

 

import numpy as np

import matplotlib.pyplot as plt

x= np.arange(0,3*np.pi,0.1)

y=np.tan(x)

plt.plot(x,y)

plt.show()

1

2

3

4

5

6

Output –

آموزش کتابخانه NumPy در نرم افزار پایتون Python - داده کاوی ویستا

 

بیایید برخی از ویژگی های خاص دیگر را در آرایه numpy مانند عملکرد نمایی و لگاریتمی ببینیم. اکنون به صورت نمایی ، مقدار e جایی برابر با 2.7 است و در log ، در واقع log log 10 است. وقتی صحبت از log طبیعی یعنی log i.e log ، به آن Ln گفته می شود.

بنابراین بیایید ببینیم که چگونه به طور عملی اجرا می شود:

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

print(np.exp(a))

1

2

Output – [ 2.71828183   7.3890561   20.08553692]

لایسنس Tableau

همانطور که خروجی فوق را مشاهده می کنید ، مقادیر نمایی چاپ می شوند یعنی افزایش توان 1 e ، که نتیجه را 2.718 می دهد.  به همین ترتیب ، e افزایش به توان 2 مقدار را در جایی نزدیک به 7.38 و غیره می دهد.

بعد ، برای محاسبه گزارش ، بیایید ببینیم که چگونه می توانید آن را پیاده سازی کنید:

 

import numpy as np

import matplotlib.pyplot as plt

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

print(np.log10(a))

1

2

3

4

Output – [ 0.        0.30103      0.47712125]

 

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

 

 

امیدواریم از این پست لذت برده باشید

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

رسانه های اجتماعی ما را برای به روز رسانی نرم افزارهای، BI و AI دنبال کنید.

دوره آموزشی زبان برنامه نویسی پایتون »کلیک کنید» یک برنامه جامع است که بر توسعه سریع نرم‌افزارهای کاربردی، برنامه‌نویسی شی‌گرا و کاربری ماژول و….  با استفاده از ابزار Python تمرکز دارد.

.

سپاسگذاریم از وقتی که برای خواندن این مقاله گذاشتید

.

 

برای خرید لایسنس پاور بی آی کلیک کنید

.

برای مشاهده ویدیوهای آموزشی داده کاوی و هوش تجاری ما را در شبکه های اجتماعی دنبال کنید

Youtube Chanel :VISTA Data Mining کانال یوتیوب

Aparat Chanel: VISTA Data Mining کانال آپارات

Instagram Chanel: VISTA Data Mining کانال اینستاگرام

Telegram Chanel: VISTA Data Mining کانال تلگرام

Linkedin Chanel: VISTA Company کانال لینکدین

 

خرید دوره آموزشی پایتون

 

امتیاز دهید

دیدگاهتان را بنویسید

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

سبد خرید
ورود

هنوز حساب کاربری ندارید؟

خانه
0 محصول سبد خرید
0 علاقه مندی