با توجه به اینکه NumPy یکی از بستههای بنیادی برای محاسبات علمی است، اگر میخواهید با پایتون، در علم داده کار کنید، این کتابخانه از جمله بستههایی است که حتماً باید کار با آن را بلد باشید. برگه تقلب Numpy به شما در این موضوع کمک میکند.
NumPy جایگزین بسیار خوبی برای لیستهای پایتون ارائه میدهد، چرا که آرایههای NumPy فشردهتر هستند، دسترسی سریعتری را برای خواندن و نوشتن آیتمها فراهم میکنند و در کل راحتتر و کارآمدتر هستند.
علاوه بر این، NumPy (تا حدی) پایه و اساس سایر بستههای مهمی است که برای مدیریت دادهها و یادگیری ماشین استفاده میشوند و ممکن است از قبل با آنها آشنا باشید؛ یعنی Pandas، Scikit-Learn و SciPy:
- کتابخانه مدیریت داده Pandas بر پایه NumPy ساخته شده است، اما به جای آرایهها، از دو ساختار داده بنیادی دیگر استفاده میکند: Series و DataFrames،
- SciPy بر پایه NumPy ساخته شده است تا تعداد زیادی از توابع را ارائه دهد که روی آرایههای NumPy کار میکنند، و
- کتابخانه یادگیری ماشین Scikit-Learn نه تنها بر پایه NumPy، بلکه بر پایه SciPy و Matplotlib نیز ساخته شده است.
همانطور که میبینید، یادگیری این کتابخانه پایتون کاملاً ضروری است: اگر نحوه کار با آن را بلد باشید، درک بهتری از سایر ابزارهای علم داده پایتون که بدون شک از آنها استفاده خواهید کرد، به دست خواهید آورد.
با این حال، درست مانند هر کتابخانه دیگری، NumPy ممکن است در ابتدا کمی پیچیده و دشوار به نظر برسد؛ مفاهیم بسیار پایهای که برای شروع کار با این کتابخانه تحلیل داده باید بدانید چیست؟

هدف این برگه تقلب Numpy این است که دید کلی خوبی از قابلیتهایی که این کتابخانه ارائه میدهد به شما بدهد.
این برگه تقلب Numpy را همیشه دم دست داشته باشید خواهید دید که این برگه تقلب Numpy مفاهیم پایه NumPy را که برای شروع کار نیاز دارید پوشش میدهد: این برگه توضیح کوتاهی درباره آنچه این کتابخانه پایتون ارائه میدهد و شکل ساختار داده آرایه ارائه میکند، و در ادامه به خلاصه کردن موضوعاتی مانند ساخت آرایه، ورودی/خروجی (I/O)، بررسی آرایه، ریاضیات آرایه، کپی و مرتبسازی آرایهها، انتخاب عناصر آرایه و تغییر شکل آرایهها میپردازد.
آرایههای NumPy اغلب بر لیستهای پایتون ترجیح داده میشوند و خواهید دید که انتخاب عناصر از آرایهها بسیار شبیه به انتخاب عناصر از لیستها است.
برگه تقلب Numpy
کتابخانه NumPy کتابخانه اصلی برای محاسبات علمی در پایتون است. این کتابخانه یک شیء آرایه چندبعدی با کارایی بالا و ابزارهایی برای کار با این آرایهها ارائه میدهد.
از دستورالعمل ایمپورت زیر استفاده کنید:
>>> import numpy as np
آرایههای 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= " ")
راهنمایی گرفتن
>>> 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
انواع داده
>>> 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
مرتبسازی آرایهها
>>> a.sort() #Sort an array >>> c.sort(axis=0) #Sort the elements of an array's axis
زیرمجموعهگیری، برشدهی و اندیسگذاری
زیرمجموعهگیری
>>> 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])
اندیسگذاری بولی
>>> a[a<2] #Select elements from a less than 2 array([1])
اندیسگذاری فانتزی
>>> 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]])
دستکاری آرایه
ترانهنهاده کردن آرایه
>>> i = np.transpose(b) #Permute array dimensions >>> i.T #Permute array dimensions
تغییر شکل آرایه
>>> 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 و کتابخانههای یادگیری ماشین و یادگیری عمیق
- انجام پروژههای واقعی جهت ساخت یک رزومه حرفهای و قوی برای بازار کار
- پوشش کامل مفاهیم ریاضی و آمار موردنیاز در علم داده به زبان ساده
بیشتر بخوانید: سایر برگه تقلبهای دیتایاد
- برگه تقلب پایتون
- برگه تقلب Pandas
- برگه تقلب Matplotlib
- برگه تقلب Scikit-learn
- برگه تقلب Keras
- برگه تقلب PyTorch
- برگه تقلب TensorFlow

