تخفیف تابستانی تا 35 درصد روی تمام دوره ها
روز
ساعت
دقیقه
ثانیه

برگه تقلب Numpy

برگه تقلب Numpy
آنچه می خوانید:

کتابخانه NumPy یکی از ابزارهای پایه‌ای و حیاتی برای محاسبات علمی به حساب می‌آید؛ بنابراین اگر قصد دارید با پایتون وارد دنیای جذاب علم داده شوید، یادگیری این کتابخانه از نان شب هم برایتان واجب‌تر است! برگه تقلب Numpy (نامپای) دقیقاً برای همین اینجاست تا مسیر را برای شما هموارتر کند.

نامپای یک جایگزین بی‌نظیر و قدرتمند برای لیست‌های ساده پایتون است. چرا؟ چون آرایه‌های NumPy فضای کمتری اشغال می‌کنند، سرعت خواندن و نوشتن داده‌ها در آن‌ها بسیار بالاتر است و در نهایت، کار با آن‌ها به‌مراتب راحت‌تر و بهینه‌تر از لیست‌های معمولی در می‌آید.

علاوه بر این، NumPy پایه‌گذار و هسته مرکزی بسیاری از کتابخانه‌های مهم دیگر در زمینه مدیریت داده و یادگیری ماشین است که احتمالاً اسم آن‌ها به گوشتان خورده؛ ابزارهایی مثل Pandas، Scikit-Learn و SciPy:

  • کتابخانه مدیریت داده Pandas دقیقاً روی دوش NumPy سوار شده است، با این تفاوت که به جای آرایه‌های ساده، از دو ساختار داده‌ای جذاب‌تر یعنی Series و DataFrames استفاده می‌کند.
  • کتابخانه SciPy هم بر پایه NumPy توسعه یافته تا مجموعه‌ای غنی از توابع کاربردی برای کار با آرایه‌های نامپای در اختیارتان قرار دهد.
  • و در نهایت، کتابخانه معروف یادگیری ماشین یعنی Scikit-Learn نه تنها از NumPy، بلکه از SciPy و Matplotlib هم به عنوان زیرساخت خود استفاده می‌کند.

همان‌طور که می‌بینید، یادگیری این کتابخانه پایتون یک «باید» است. وقتی قلق کار با NumPy دستتان بیاید، درک بقیه ابزارهای علم داده پایتون برایتان مثل آب خوردن می‌شود.

با این وجود، NumPy هم مثل هر کتابخانه تخصصی دیگری ممکن است در نگاه اول کمی ترسناک و پیچیده به نظر برسد. اما جای نگرانی نیست! قرار است با هم مفاهیم پایه‌ای که برای شروع تحلیل داده با این کتابخانه نیاز دارید را مرور کنیم.

برگه تقلب Numpy

هدف ما از تهیه این برگه تقلب Numpy این است که یک دید کلی و سریع از تمام قابلیت‌های شگفت‌انگیز این کتابخانه به شما بدهیم.

پیشنهاد می‌کنیم این برگه تقلب را همیشه دم دستتان نگه دارید. این راهنما تمام مفاهیم اولیه و ضروری NumPy را پوشش می‌دهد؛ از یک معرفی کوتاه درباره ساختار آرایه‌ها گرفته تا مباحث مهمی مثل نحوه ساخت آرایه، مدیریت ورودی/خروجی (I/O)، بررسی و ارزیابی آرایه‌ها، عملیات ریاضی، کپی گرفتن، مرتب‌سازی، انتخاب عناصر و تغییر شکل آن‌ها.

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

 

برگه تقلب Numpy

کتابخانه NumPy قلب تپنده محاسبات علمی در پایتون است. این ابزار قدرتمند، یک شی آرایه چندبعدی با کارایی بسیار بالا و مجموعه‌ای از ابزارها برای کار با این آرایه‌ها در اختیارتان می‌گذارد.

برای شروع، کافیست آن را با دستور زیر ایمپورت کنید:

import numpy as np

آرایه‌های Numpy

آرایه‌های Numpy

ساخت آرایه‌ها

a = np.array([1,2,3])
b = np.array([(1.5,2,3), (4,5,6)], dtype = float)
c = np.array([[(1.5,2,3), (4,5,6)],[(3,2,1), (4,5,6)]], dtype = float)

Placeholder های اولیه (مقادیر اولیه پیش‌فرض)

np.zeros((3,4)) #Create an array of zeros
np.ones((2,3,4),dtype=np.int16) #Create an array of ones
d = np.arange(10,25,5)#Create an array of evenly spaced values (step value)
np.linspace(0,2,9) #Create an array of evenlyspaced values (number of samples)
e = np.full((2,2),7)#Create a constant array
f = np.eye(2) #Create a 2X2 identity matrix
np.random.random((2,2)) #Create an array with random values
np.empty((3,2)) #Create an empty array

 

ورودی/خروجی (I/O)

ذخیره و بارگذاری داده‌ها روی دیسک

np.save('my_array' , a)
np.savez( 'array.npz', a, b)
np.load( 'my_array.npy')

ذخیره و بارگذاری فایل‌های متنی

np.loadtxt("myfile.txt")
np.genfromtxt("my_file.csv", delimiter= ',')
np.savetxt( "myarray.txt", a, delimiter= " ")

 

درخواست راهنمایی (Help)

np.info(np.ndarray.dtype)

 

بررسی و شناخت آرایه‌ها

a.shape #Array dimensions
len(a)#Length of array
b.ndim #Number of array dimensions
e.size #Number of array elements
b.dtype #Data type of array elements
b.dtype.name #Name of data type
b.astype(int). #Convert an array to a different type

 

انواع داده (Data Types)

np.int64 #Signed 64-bit integer types
np.float32. #Standard double-precision floating point
np.complex. #Complex numbers represented by 128 floats
np.bool #Boolean type storing TRUE and FALSE values
np.object #Python object type
np.string_ #Fixed-length string type
np.unicode_ #Fixed-length unicode type

 

ریاضیات در آرایه‌ها

عملیات پایه‌ای ریاضی

g = a - b. #Subtraction
array([[-0.5,0. ,0.], [-3. , -3. , -3. ]])
np.subtract(a,b) #Subtraction
b + a #Addition 
array([[ 2.5, 4. , 6.],[5. ,7. ,9. ]])
np.add(b,a) #Addition 
a/b #Division 
array([[0.66666667,1. ,1.],[0.25 ,0.4 ,0.5 ]])
np.divide(a,b) #Division 
a * b #Multiplication 
array([[1.5, 4. ,9.],[ 4. , 10. , 18. ]])
np.multiply(a,b) #Multiplication 
np.exp(b) #Exponentiation
np.sqrt(b) #Square root
np.sin(a) #Print sines of an array
np.cos(b) #Elementwise cosine
np.log(a)#Elementwise natural logarithm
e.dot(f) #Dot product 
array([[7.,7.],[7.,7.]])

مقایسه عناصر

a == b #Elementwise comparison

 array([[False , True, True],
             [ False,False ,False ]], dtype=bool)
a< 2 #Elementwise comparison
   array([True, False, False], dtype=bool)
np.array_equal(a, b) #Arraywise comparison

 

کپی کردن آرایه‌ها

h = a.view()#Create a view of the array with the same data
np.copy(a) #Create a copy of the array
h = a.copy() #Create a deep copy of the array

 

مرتب‌سازی (Sorting) آرایه‌ها

a.sort() #Sort an array
c.sort(axis=0) #Sort the elements of an array's axis

 

زیرمجموعه‌گیری، برش‌دهی و اندیس‌گذاری

انتخاب عناصر (Subsetting)

a[2] #Select the element at the 2nd index
3
b[1,2] #Select the element at row 1 column 2(equivalent to b[1][2])
6.0

برش‌دهی (Slicing)

a[0:2]#Select items at index 0 and 1
array([1, 2])
b[0:2,1] #Select items at rows 0 and 1 in column 1
array([ 2.,5.])
b[:1] 
#Select all items at row0(equivalent to b[0:1, :])
array([[1.5, 2., 3.]])
c[1,...] #Same as[1,:,:]
array([[[ 3., 2.,1.],[ 4.,5., 6.]]])
a[ : : -1] #Reversed array a array([3, 2, 1])

اندیس‌گذاری بولی (Boolean Indexing)

a[a<2] #Select elements from a less than 2
array([1])

اندیس‌گذاری فانتزی (Fancy Indexing)

b[[1,0,1, 0],[0,1, 2, 0]] #Select elements(1,0),(0,1),(1,2) and(0,0)
  array([ 4. , 2. , 6. ,1.5])
b[[1,0,1, 0]][:,[0,1,2,0]] #Select a subset of the matrix’s rows and columns
 array([[ 4. ,5. , 6. , 4.],[1.5, 2. , 3. ,1.5],[ 4. ,5. , 6. , 4.],[1.5, 2. , 3. ,1.5]])

 

دستکاری و تغییر آرایه‌ها

ترانه‌نهاده کردن (Transpose)

i = np.transpose(b) #Permute array dimensions
i.T #Permute array dimensions

تغییر شکل آرایه (Reshaping)

b.ravel() #Flatten the array
g.reshape(3, -2) #Reshape, but don’t change data

افزودن و حذف عناصر

h.resize((2,6)) #Return a new arraywith shape(2,6)
np.append(h,g) #Append items to an array
np.insert(a,1,5) #Insert items in an array
np.delete(a,[1]) #Delete items from an array

ترکیب کردن آرایه‌ها

np.concatenate((a,d),axis=0) #Concatenate arrays
array([1, 2, 3, 10, 15, 20])
np.vstack((a,b) #Stack arrays vertically(row wise)
array([[1. , 2. , 3.],[1.5, 2. , 3.],[ 4. ,5. , 6. ]])
np.r_[e,f] #Stack arrays vertically(row wise)
np.hstack((e,f)) #Stack arrays horizontally(column wise)
array([[7.,7.,1.,0.],[7.,7.,0.,1.]])
np.column_stack((a,d)) #Create stacked column wise arrays
array([[1, 10],[ 2, 15],[ 3, 20]])
np.c_[a,d] #Create stacked column wise arrays

تقسیم کردن آرایه‌ها

np.hsplit(a,3) #Split the array horizontally at the 3rd index
[array([1]),array([2]),array([3])]
np.vsplit(c,2) #Split the array vertically at the 2nd index
[array([[[ 1.5, 2. ,1.],[ 4. ,5. , 6. ]]]),
array([[[ 3., 2., 3.],[ 4.,5., 6.]]])]

 

این برگه تقلب فقط نقطه شروع است!

داشتن این برگه تقلب NumPy قطعاً به شما کمک می‌کند تا کدهای پایه‌ای را خیلی سریع‌تر بنویسید؛ اما فراموش نکنید که تسلط بر ابزارها تنها بخش کوچکی از مسیر جذاب یک متخصص داده است. برای اینکه بتوانید با داده‌های واقعی دست‌وپنجه نرم کنید، الگوهای پنهان را بیرون بکشید و مدل‌های قدرتمند هوش مصنوعی بسازید، به یک نقشه راه اصولی نیاز دارید تا قطعات این پازل بزرگ را درست در کنار هم قرار دهید.

اگر واقعاً آماده‌اید تا پایتون، محاسبات علمی و الگوریتم‌های هوش مصنوعی را به شکلی کاربردی و عمیق یاد بگیرید، پیشنهاد می‌کنیم فرصت شرکت در دوره جامع علم داده با پایتون را از دست ندهید. در این دوره، مفاهیم تئوری را مستقیماً در قالب پروژه‌های واقعی و شبیه‌سازی‌شده‌ی بازار کار پیاده‌سازی خواهید کرد:

  • آموزش گام‌به‌گام و پروژه محور پایتون، NumPy، Pandas و کتابخانه‌های یادگیری ماشین و یادگیری عمیق
  • انجام پروژه‌های واقعی برای ساخت یک رزومه حرفه‌ای و قوی جهت ورود به بازار کار
  • پوشش کامل و به زبان ساده‌ی تمام مفاهیم ریاضی و آمار موردنیاز در علم داده

 

بیشتر بخوانید: سایر برگه‌ تقلب‌های دیتایاد

مقالات هوش مصنوعی
دوره جامع

هوش مصنوعی

دوره جامع نخبگان پایتون
دوره جامع متخصص علم داده
دوره جامع بینایی کامپیوتر و پردازش تصویر
دوره جامع مدل زبانی بزرگ و پردازش زبان طبیعی
قیمت اصلی: ۵۸,۰۰۰,۰۰۰ تومان بود.قیمت فعلی: ۳۷,۷۰۰,۰۰۰ تومان.
مقالات مشابه
نظرات

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

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