Numpy به معنای پایتون عددی است.
در این دوره آموزشی، در مورد کتابخانه Numpy در زبان برنامهنویسی پایتون با تمرینهای کدنویسی زمان واقعی در Jupyter Notebook، به زبانی بسیار آسان و قابل درک، خواهید آموخت.
آرایههای Numpy به ما امکان میدهند تا عملیات ریاضی سریعتری را در مقایسه با لیست یا تاپل انجام دهیم.
برخی از دستورات Numpy که در این دوره استفاده خواهیم کرد.
1. numpy را به عنوان np وارد کنید
2. آرایه 1-D - A = np.array( [1,2,3,4,5] )
# برای ایجاد یک آرایه تک بعدی.
3. آرایه دو بعدی - A = np.array( [[1,2,3],[4,5,6]] )
# برای ایجاد یک آرایه دو بعدی.
4. آرایه سه بعدی - A = np.array( [[[1,2,3],[4,5,6],[7,8,9]]] )
# برای ایجاد یک آرایه سه بعدی.
5. آرایه از لیست - L = np.array( [1,2,3,4,5] )
# برای ایجاد یک آرایه از لیست.
6. آرایه از Tuple - T = np.array( (11,22,33,44,55))
# برای ایجاد یک آرایه از tuple.
7. np.asarray( ) - برای تبدیل هر نوع داده (list,tuple) به آرایه numpy.
Ex : L_Array = np.asarray(list) ; T_Array = np.asarray(tuple)
8. آرایه پویا - یک آرایه پویا شبیه یک آرایه است، اما با این تفاوت که اندازه آن را می توان به صورت پویا در زمان اجرا تغییر داد.
9. np.array( [1،2،3،4]، ndmin = 2، dtype = پیچیده)
# ما می توانیم ابعاد و نوع داده هر آرایه را تنظیم کنیم.
10. np.arange() - A = np.arange( 1,20,3 )
# برای ایجاد دنباله ای از اعداد.
11. تغییر شکل () - A = A.reshape ( 3،4 )
# برای تغییر شکل یک آرایه.
12. ندیم - ا. ndim
# برای نشان دادن تعداد محور (ابعاد/رتبه) آرایه.
13. شکل - A.shape
# شکل آرایه یعنی ماتریس، ردیف، ستون.
14. اندازه - A.size
# عدد کل را نشان می دهد. عناصر آرایه.
15. dtype - A.dtype
# نوع داده عناصر آرایه را نشان می دهد.
16. itemsize - A.itemsize
# اندازه هر عنصر آرایه را بر حسب بایت نشان می دهد.
17. type() - type(A)
# نوع آرایه را نشان می دهد.
18. . data - # آدرس حافظه اولین بایت آرایه را نشان می دهد.
19. strides - A.strides
# این شماره است. از بایت هایی که باید در حافظه حذف شوند تا به عنصر بعدی بروید.
20. A = np.array( [[1,2,3], [4,5,6]] , dtype = float )
# ایجاد یک آرایه از لیست هایی با نوع float.
21. عملیات آرایه ها - A = np.array([1,2,3,4]) , B = np.array([11,22,33,44])
A + B à [ 12 24 36 48 ] ;;
B – A à [ 10 20 30 40 ] ;;
A * B à [ 11 44 99 176 ] ;;
B/A à [ 11. 11. 11. 11. ] OR ,
np.add(A,B) à [ 12 24 36 48 ] ;;
np.subtract(B,A) à [ 10 20 30 40 ] ;;
np.multiply(A,B) à [ 11 44 99 176 ] ;;
np.divide(B,A) à [ 11. 11. 11. 11. ]
22. آرایه صفر - آرایه ای که در آن همه مقادیر 0
هستند- ZA = np.zeros( (3,4) , dtype = int/float/str ) # ایجاد آرایه ای از تمام مقادیر صفر با شکل و نوع داده شده.
- می توانیم شکل و نوع داده آرایه صفر را تعریف کنیم.
- ما می توانیم آرایه صفرهای 1-D، 2-D، و همچنین 3-D ایجاد کنیم.
- نوع داده پیش فرض شناور است.
23. Ones Array - آرایه ای که در آن همه مقادیر 1
هستند- A = np.ones( (4,3) , dtype = int/float/str ) # ایجاد آرایه ای از همه مقادیر یکها با شکل و نوع داده شده.
- میتوانیم شکل و نوع داده آرایه یکها را تعریف کنیم.
- میتوانیم آرایههای 1-D، 2-D، و همچنین 3-D را ایجاد کنیم.
- نوع داده پیش فرض شناور است.
24. آرایه با ارزش کامل - آرایه ای که در آن همه مقادیر یکسان هستند (ثابت)
- A = np.full ( (3،4)، 7 ) # ایجاد یک آرایه 3x4 با یک مقدار ثابت (7) در همه جا.
- میتوانیم شکل را تعریف کنیم، و مقداری را که باید در "آرایههای کامل" پر شود، ارسال کنیم.
- ما می توانیم آرایه 1-D، 2-D، و همچنین آرایه کامل سه بعدی را با مقادیر صحیح، شناور یا رشته ایجاد کنیم.
- نوع داده پیش فرض عدد صحیح است.
25. ماژول تصادفی - این ماژول شامل توابعی است که برای تولید اعداد تصادفی استفاده می شود.
A. تابع تصادفی - اعداد شناور تصادفی بین 0 و 1 را برمی گرداند.
np.random.random((2,3)) # یک آرایه دو بعدی به شکل 2x3 با مقادیر تصادفی ایجاد می کند.
B. تابع Randint
- اعداد صحیح تصادفی بین محدوده داده شده تولید می کند.
- به طور پیش فرض، محدوده از 0 شروع می شود.
- اعداد می توانند تکرار شوند.
np.random.randint(5,20,4) # یک آرایه 1 بعدی با شماره داده شده ایجاد می کند. مقادیر صحیح (در اینجا 4) بین اعداد ورودی داده شده 5 20. مقادیر می توانند تکرار شوند.
np.random.randint(5,20,(4,3)) # یک آرایه دو بعدی به شکل 4x3 بین اعداد ورودی داده شده 5 20 ایجاد می کند. مقادیر می توانند تکرار شوند.
C. تابع رند - اعداد شناور تصادفی بین 0 و 1 را برمی گرداند.
np.random.rand(10) # آرایه ای از 10 عدد تصادفی بین 0 و 1 ایجاد می کند.
D. تابع Randn - اعداد شناور تصادفی (مثبت و منفی هر دو) را به شکل آرایه برمی گرداند.
np.random.randn(2,3,4) # مقادیر (+/-) را در قالب آرایه نمایش می دهد.
E. تابع یکنواخت
- عدد(های) شناور تصادفی بین محدوده داده شده از مقادیر را برمی گرداند.
- اعداد تصادفی نمی توانند تکرار شوند.
- به طور پیش فرض، محدوده از 0 شروع می شود.
- اگر چیزی در () ارسال نشود، یک عدد شناور بین 0 و 1 برمی گرداند.
np.random.uniform(1,5,50) # شماره داده شده را نمایش می دهد. مقادیر منحصر به فرد بین اعداد ورودی داده شده ارزش ها نمی توانند تکرار شوند. مقادیر در قالب شناور هستند.
F. انتخاب تابع
- اعداد صحیح تصادفی را از دنباله داده شده برمی گرداند.
- محدوده به طور پیش فرض از 0 شروع می شود.
- اگر فقط 1 عنصر ارسال شود، عددی بین 0 و آن عنصر را برمی گرداند.
- به طور پیشفرض، جایگزین = True، یعنی اعداد میتوانند تکرار شوند.
np.random.choice( [2,5,8,9,1,7] , size=16 , replace=True/False) # برای ایجاد یک آرایه با 16 عنصر از لیست اعداد داده شده ; جایگزین = True یعنی عناصر می توانند تکرار شوند
np.random.normal( loc=100, scale=5 , size=10 ) # یک نمونه تصادفی از توزیع نرمال می گیرد ;
loc – میانگین توزیع ; scale -std توسعه دهنده توزیع ; اندازه - نه از عناصر.
26. تابع Linspace - np.linspace() - مقادیر با فاصله یکنواخت (خطی) را در یک بازه معین برمی گرداند.
np.linspace(شروع، توقف، num=50، endpoint=True، retstep=True، dtype=None) ;
Ex – A = np.linspace(2، 20، num=15) ; B = np.linspace (1,100,12)
27. Flatten Array - A.flatten() # برای جمع کردن یک کپی از آرایه به صورت 1-D استفاده می شود.
28. Empty Function - np.empty() - # Empty Function برای ایجاد آرایه ای از مقادیر دلخواه، از شکل و نوع داده داده شده، بدون مقداردهی اولیه ورودی ها استفاده می شود.
A = np.empty( 4 ) ;;
B = np.empty( (5,3) , dtype=int ) ;;
C = np.empty( [2,5,3] , dtype=object )
نحو: np.empty (شکل، dtype)
- شکل را می توان به صورت فهرست یا تاپل ارائه داد
- نوع داده پیش فرض شناور است
29. ما میتوانیم انواع دادههای ستونهای ردیفها را
تعریف کنیمA = np.full( (2،3)، 3، dtype = [ ('x',float) , ('y',int) ])
30. Eye Function – np.eye() - تابع Eye یک آرایه دوبعدی را با 1 در مورب و 0 در جای دیگر برمی گرداند.
نحو : np.eye (شکل، k، dtype)
- در اینجا، اگر فقط تعداد ردیفها ارسال شود، تعداد ستونها = تعداد ردیفها
- K شاخص مورب است، به طور پیش فرض، k=0 به معنای قطر اصلی است. وقتی k=positive به معنای مورب بالایی است. وقتی k=negative به معنای قطر پایینی است
- نوع داده پیش فرض شناور است
31. Identity Array - np.identity() - یک آرایه هویت را برمی گرداند، یعنی یک آرایه مربعی با 1 در مورب اصلی و همه عناصر دیگر 0 هستند.
نحو: np.identity(شکل، dtype)
- فقط یک عدد صحیح را به عنوان شکل می گیرد.
- تعداد سطرها و تعداد ستونها برابر با مقدار صحیح داده شده خواهد بود.
- نوع داده پیش فرض شناور است
32. Ones Like Array - آرایه ای از Ones را با همان شکل آرایه داده شده برمی گرداند.
نحو: np.ones_like(آرایه، dtype)
Ex : A = np.ones_like(B) - آرایه A از Ones را با همان شکل آرایه B ارائه شده از قبل ایجاد شده برمی گرداند.
33. Zeros Like Array - آرایه ای از صفر را با همان شکل آرایه داده شده برمی گرداند.
نحو: np.zeros_like(آرایه، dtype)
Ex : P = np.zeros_like(Q) - یک آرایه P از صفر را برمی گرداند، از همان نوع آرایه از قبل ایجاد شده Q.
34. Full Like Array - یک آرایه کامل از عنصر Constant را با همان شکل آرایه داده شده برمی گرداند.
نحو: np.full_like(آرایه، fill_value، dtype)
Ex : X = np.full_like(Y, 7) - یک آرایه X پر شده با مقدار ثابت 7، با همان شکل آرایه Y از قبل ایجاد شده را برمی گرداند.
35. تابع مورب - برای استخراج عناصر مورب یک آرایه، یا برای ساخت یک آرایه مورب جدید استفاده می شود.
نحو : np.diag(a، k)
- اگر "a" یک آرایه دو بعدی باشد، عناصر مورب را استخراج می کند.
- اگر "a" یک آرایه 1 بعدی باشد، یک آرایه دو بعدی با عناصر "a" در مورب می سازد.
- به طور پیش فرض، k 0 است. از k 0 برای مورب های بالای مورب اصلی استفاده کنید. از k<0 برای قطرهای زیر مورب اصلی استفاده کنید.
36. تابع Transpose - سطرها را به ستون و ستون ها را به سطر تبدیل می کند.
Syntax: array.T، یا np.transpose(array)
37. copy() - A = a.copy() # یک کپی از آرایه را برمی گرداند.
38. اپراتورها - +، -، *،/-
A = np.array([1,2,3]) ;
B = A + 1 à B = [2،3،4] ;
C = A * 2 à C = [2،4،6]
39. Transpose - a.T
# ردیفها را به ستون و ستونها را در ردیفها میپوشاند.
40. عملگرهای Unary - عملگرهایی که فقط به یک عملوند نیاز دارند. فرض کنید "a" یک آرایه است:
a.max() , a.max(axis=1)، a.max(axis=0) , a.sum()
a.min() , a.min(axis=1) , a.min(axis=0) , np.sum(a, axis=1)
# این توابع را میتوان با تنظیم یک پارامتر محور، به صورت ردیف یا ستون اعمال کرد.
41. stack - c = np.stack( (a,b))
# با استفاده از آرایه ها به عنوان ردیف، یک ماتریس ایجاد می کند.
42. ستون_پشته - c = np.column_stack( (a,b))
# با استفاده از آرایه ها به عنوان ستون، یک ماتریس ایجاد می کند.
43. V-Stack و H-Stack - Vstack یا Hstack برای ترکیب دو یا چند آرایه برای تشکیل یک آرایه جدید استفاده می شود.
43.A) vstack - c = np.vstack( (a,b))
# داده ها را به صورت عمودی اضافه می کند. a و b آرایه هستند.
43.B) hstack - c = np.hstack( (a,b))
# داده ها را به صورت افقی اضافه می کند. a و b آرایه هستند.
44. نمایه سازی آرایه - نمایه سازی برای به دست آوردن عنصر(ها) یا ردیف(ها) یا ستون(ها) خاص از آرایه(های) numpy استفاده می شود.
در اینجا، Index عنصر را برای دسترسی به آن ارسال می کنیم. ایندکس از 0 شروع می شود، نه از 1. عناصر را تا فهرست "stop index - 1" برمی گرداند.
نمايهسازي در آرايه 1 بعدي: قالب - آرايه[شاخص شروع: فهرست توقف]
نمایه سازی در آرایه دو بعدی : قالب - آرایه[row_indexing, column_indexing]
نمایه سازی در آرایه سه بعدی : قالب - آرایه[matrix_indexing، row_indexing, column_indexing]
Ex - a[1:2,1:2,1:2] # از آنجایی که آرایه ها ممکن است چند بعدی باشند، باید برای هر بعد آرایه یک برش مشخص کنیم.
45. نمایه سازی عدد صحیح مخلوط - a[1,1:2,1:2]
# ترکیب نمایه سازی اعداد صحیح با نمایه سازی برش، آرایه ای از رتبه های پایین تر را به دست می دهد. در حالی که تنها با استفاده از برشها، آرایهای با رتبه مشابه آرایه اصلی به دست میآید.
46. نمایه سازی آرایه صحیح - a[[0,1,2],[0,1,0]]
# این امکان را به ما می دهد تا با استفاده از داده های آرایه دیگر، آرایه دلخواه (انتخاب تصادفی) بسازیم.
47. نمایه سازی آرایه بولی - a[a 2]
# برای انتخاب عناصر آرایه ای که شرایطی را برآورده می کنند استفاده می شود.
48. .dot()
# برای محاسبه حاصل ضرب درونی بردارها، برای ضرب بردار در ماتریس، برای ضرب ماتریس استفاده میشود.
49. np.any(x 0.9)
# بررسی میکند که آیا مقداری بیشتر از 0.9 در x است. ( x = np.random.random(10))
50. np.all(x = 0.9)
# بررسی می کند که آیا همه مقادیر بزرگتر یا مساوی 0.1 در x هستند یا خیر. ( x = np.random.random(10))
51. array_A[array_A == x] = y
# جایگزینی همه x در آرایه_A داده شده با y.
52. a[[2,4]] یا a[(1,3),:]
# دریافت مقادیر از ردیف دوم و چهارم ماتریس.
53. برای بدست آوردن نتایج از ماتریس: a.sum()، a.std()، a.var()، a.mean()، a.max()، a.min()
تحلیلگر ارشد داده
نمایش نظرات