0% found this document useful (0 votes)
17 views6 pages

NumPy CheatSheet BFCS0010

Uploaded by

alialiye33333
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views6 pages

NumPy CheatSheet BFCS0010

Uploaded by

alialiye33333
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

‫‪blog.faradars.

org‬‬ ‫مجله فرادرس‬ ‫‪ – BFCS0010‬تقلبنامه پایتون برای علم داده‬

‫کتابخانه ‪NumPy‬‬

‫معرفی کتابخانه ‪NumPy‬‬

‫‪ ،NumPy‬کتابخانه پایهای برای محاسبات علیم در زبان برنامهنوییس پایتون است‪ .‬این کتابخانه آرایههای‬
‫چند ُبعدی با کارایی باال و ابزارهای کار با این آرایهها را فراهم یمکند‪ .‬از دستور زیر برای وارد کردن (‪)Import‬‬
‫کتابخانه ‪ 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‬‬

‫متغیرهای فرانحوی اولیه (‪)Initial Placeholders‬‬

‫))‪>>> np.zeros((3,4‬‬ ‫ساخت آرایهای با ابعاد ‪ ۳×۴‬از صفرها‬

‫)‪>>> np.ones((2,3,4),dtype=np.int16‬‬ ‫ساخت آرایهای با ابعاد ‪ ۲×۳×۴‬از یکها‬

‫)‪>>> d = np.arange(10,25,5‬‬ ‫ساخت آرایهای از مقادیر با فاصلههای یکسان (بر اساس گام)‬

‫)‪>>> np.linspace(0,2,9‬‬ ‫ساخت آرایهای از مقادیر با فاصلههای یکسان (بر اساس تعداد نمونهها)‬

‫)‪>>> e = np.full((2,2),7‬‬ ‫ساخت یک آرایه ثابت با ابعاد ‪ ۲×۲‬و درایههای برابر با ‪۷‬‬

‫)‪>>> f = np.eye(2‬‬ ‫ساخت ماتریس هماین با ابعاد ‪۲×۲‬‬

‫))‪>>> np.random.random((2,2‬‬ ‫ساخت آرایه با ابعاد ‪ ۲×۲‬و مقادیر تصادفی‬

‫))‪>>> np.empty((3,2‬‬ ‫ساخت یک آرایه خایل با ابعاد ‪۳×۲‬‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬
‫‪blog.faradars.org‬‬ ‫مجله فرادرس‬ ‫‪ – BFCS0010‬تقلبنامه پایتون برای علم داده‬

‫ورودی‪/‬خروجی‬
‫ذخیرهسازی و بارگذاری فایلهای متین‬ ‫ذخیرهسازی و بارگذاری آرایه روی حافظه‬
‫)"‪>>> np.loadtxt("myfile.txt‬‬ ‫)‪>>> np.save('my_array', a‬‬
‫)'‪>>> np.genfromtxt("my_file.csv", delimiter=',‬‬ ‫)‪>>> np.savez('array.npz', a, b‬‬
‫)" "=‪>>> np.savetxt("myarray.txt", a, delimiter‬‬ ‫)'‪>>> np.load('my_array.npy‬‬

‫انواع داده‬
‫‪>>> np.int64‬‬ ‫عدد صحیح ‪ ۶۴‬بییت عالمتدار‬
‫‪>>> np.float32‬‬ ‫ممیز شناور استاندارد با دقت دو برابر (‪)Double-Precision‬‬
‫‪>>> np.complex‬‬ ‫اعداد مختلط با ‪ ۱۲۸‬ممیز شناور‬
‫‪>>> np.bool‬‬ ‫نوع دودویی ذخیرهکننده مقادیر ‪ TRUE‬و ‪FALSE‬‬
‫‪>>> np.object‬‬ ‫نوع یش پایتون‬
‫_‪>>> np.string‬‬ ‫رشته با طول ثابت‬
‫_‪>>> np.unicode‬‬ ‫رشته یونیکد با طول ثابت‬

‫بازریس آرایه‬
‫‪>>> a.shape‬‬ ‫شکل آرایه ‪a‬‬
‫)‪>>> len(a‬‬ ‫طول آرایه ‪a‬‬
‫‪>>> b.ndim‬‬ ‫ابعاد آرایه ‪b‬‬
‫‪>>> e.size‬‬ ‫تعداد عناصر آرایه ‪e‬‬
‫‪>>> b.dtype‬‬ ‫نوع داده عناصر آرایه ‪b‬‬
‫‪>>> b.dtype.name‬‬ ‫نام نوع داده آرایه ‪b‬‬
‫)‪>>> b.astype(int‬‬ ‫تبدیل نوع داده آرایه به یک نوع دیگر (در این مثال ‪)int‬‬

‫درخواست راهنما‬
‫)‪>>> np.info(np.ndarray.dtype‬‬

‫محاسبات روی آرایهها‬

‫عملیات ریایض‬
‫‪>>> g = a - b‬‬
‫‪array([[-0.5, 0. , 0. ],‬‬ ‫تفریق‬
‫)]] ‪[-3. , -3. , -3.‬‬
‫)‪>>> np.subtract(a,b‬‬ ‫تفریق‬

‫‪>>> b + a‬‬
‫‪array([[ 2.5, 4. , 6. ],‬‬ ‫جمع‬
‫)]] ‪[ 5. , 7. , 9.‬‬

‫)‪>>> np.add(b,a‬‬ ‫جمع‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬
‫‪blog.faradars.org‬‬ ‫مجله فرادرس‬ ‫‪ – BFCS0010‬تقلبنامه پایتون برای علم داده‬
‫‪>>> a / b‬‬
‫‪array([[ 0.66666667, 1. , 1. ],‬‬ ‫تقسیم‬
‫)]] ‪[ 0.25 , 0.4 , 0.5‬‬
‫)‪>>> np.divide(a,b‬‬ ‫تقسیم‬
‫‪>>> a * b‬‬
‫‪array([[ 1.5, 4. , 9. ],‬‬ ‫ضرب‬
‫)]] ‪[ 4. , 10. , 18.‬‬
‫)‪>>> np.multiply(a,b‬‬ ‫ضرب‬
‫)‪>>> np.exp(b‬‬ ‫توان‬
‫)‪>>> np.sqrt(b‬‬ ‫ریشه دوم‬
‫)‪>>> np.sin(a‬‬ ‫پرینت کردن سینوس یک آرایه‬
‫)‪>>> np.cos(b‬‬ ‫کسینوس مولفهای‬
‫)‪>>> np.log(a‬‬ ‫لگاریتم طبیعی مولفهای‬
‫)‪>>> e.dot(f‬‬
‫‪array([[ 7., 7.],‬‬ ‫ضرب داخیل‬
‫)]]‪[ 7., 7.‬‬

‫مقایسه‬
‫‪>>> a == b‬‬
‫‪array([[False, True, True],‬‬ ‫مقایسه مولفهای‬
‫)‪[False, False, False]], dtype=bool‬‬
‫‪>>> a < 2‬‬
‫مقایسه مولفهای‬
‫)‪array([True, False, False], dtype=bool‬‬
‫)‪>>> np.array_equal(a, b‬‬ ‫مقایسه آرایهای‬

‫توابع تجمیعی‬
‫)(‪>>> a.sum‬‬ ‫مجموع آرایه ‪a‬‬
‫)(‪>>> a.min‬‬ ‫مقدار کمینه آرایهای‬
‫)‪>>> b.max(axis=0‬‬ ‫مقدار بیشینه یک سطر آرایه (در اینجا آرایه ‪)b‬‬
‫)‪>>> b.cumsum(axis=1‬‬ ‫مجموع تجمعی عناصر‬
‫)(‪>>> a.mean‬‬ ‫میانگین‬
‫)(‪>>> b.median‬‬ ‫میانه‬
‫)(‪>>> a.corrcoef‬‬ ‫ضریب همبستیگ‬
‫)‪>>> np.std(b‬‬ ‫انحراف معیار (در اینجا آرایه ‪)b‬‬

‫کیپ کردن آرایهها‬


‫)(‪>>> h = a.view‬‬ ‫ساخت نماییش از آرایه با دادههای مشابه‬
‫)‪>>> np.copy(a‬‬ ‫ساخت یک کیپ از آرایه‬
‫)(‪>>> h = a.copy‬‬ ‫ساخت یک کیپ عمیق از آرایه‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬
‫‪blog.faradars.org‬‬ ‫مجله فرادرس‬ ‫‪ – BFCS0010‬تقلبنامه پایتون برای علم داده‬

‫مرتبسازی آرایهها‬
‫)(‪>>> a.sort‬‬ ‫مرتبسازی یک آرایه‬
‫)‪>>> c.sort(axis=0‬‬ ‫مرتبسازی عناصر یک محور آرایه‬

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


‫زیرمجموعهسازی‬
‫]‪ >>> a[2‬انتخاب عنصر در اندیس دوم‬
‫‪3‬‬

‫]‪ >>> b[1,2‬انتخاب عنصر در سطر ‪ ۱‬و ستون ‪( ۲‬برابر با ]‪)b[1][2‬‬


‫‪6.0‬‬
‫برشزین‬
‫]‪ >>> a[0:2‬انتخاب درایه در اندیس ‪ ۰‬و ‪۱‬‬
‫)]‪array([1, 2‬‬

‫]‪>>> b[0:2,1‬‬
‫انتخاب درایه در سطر ‪ ۰‬و ‪ ۱‬در ستون ‪۱‬‬
‫)]‪array([ 2., 5.‬‬

‫]‪>>> b[:1‬‬
‫انتخاب همه درایههای سطر ‪۰‬‬
‫)]]‪array([[1.5, 2., 3.‬‬
‫(برابر با ]‪)b[0:1, :‬‬
‫مشابه [‪]۱,:,:‬‬
‫]‪>>> c[1,...‬‬
‫‪array([[[ 3., 2., 1.],‬‬
‫)]]]‪[ 4., 5., 6.‬‬

‫]‪>>> a[ : :-1‬‬
‫ایجاد یک آرایه با ترتیب معکوس شده آرایه ‪a‬‬ ‫)]‪array([3, 2, 1‬‬
‫اندیسگذاری دودویی‬
‫]‪ >>> a[a<2‬انتخاب عناصر آرایه ‪ a‬با مقادیر کمتر از ‪۲‬‬
‫)]‪array([1‬‬
‫اندیسگذاری ‪Fancy‬‬
‫]]‪ >>> b[[1, 0, 1, 0],[0, 1, 2, 0‬انتخاب عناصر بر اساس اندیس سطر و ستون‬
‫)]‪array([ 4. , 2. , 6. , 1.5‬‬

‫]]‪>>> b[[1, 0, 1, 0]][:,[0,1,2,0‬‬


‫انتخاب زیر مجموعهای از سطرها و ستونهای‬
‫‪array([[ 4. ,5. , 6. , 4. ],‬‬
‫ماتریس‬
‫‪[ 1.5 ,2. , 3. , 1.5 ],‬‬
‫‪[ 4. ,5. , 6. , 4. ],‬‬
‫)]]‪[1.5, 2., 3., 1.5‬‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬
‫‪blog.faradars.org‬‬ ‫مجله فرادرس‬ ‫‪ – BFCS0010‬تقلبنامه پایتون برای علم داده‬

‫تغییرات روی آرایهها‬


‫ترانهاده آرایه‬
‫)‪ >>> i = np.transpose(b‬ساخت ترانهاده یک آرایه‬

‫‪ >>> b.T‬ساخت ترانهاده یک آرایه‬


‫تغییر شکل آرایه‬
‫)(‪ >>> b.ravel‬مسطح کردن آرایه‬

‫)‪ >>> g.reshape(3,-2‬شکل دهی مجدد آرایه‪ ،‬بدون تغییر دادهها‬


‫اضافه‪/‬حذف عناصر‬
‫))‪ >>> h.resize((2,6‬تغییر ابعاد آرایه ‪ h‬به (‪)۲ ،۶‬‬

‫)‪ >>> np.append(h,g‬الحاق درایه به انتهای آرایه‬

‫)‪ >>> np.insert(a, 1, 5‬درج درایه در آرایه‬

‫)]‪ >>> np.delete(a,[1‬حذف درایههای یک آرایه‬


‫ترکیب آرایهها‬
‫)‪ >>> np.concatenate((a,d),axis=0‬الحاق آرایهها بر اساس محور‬
‫)]‪array([ 1, 2, 3, 10, 15, 20‬‬

‫))‪ >>> np.vstack((a,b‬ادغام آرایهها به صورت عمودی‬


‫‪array([[ 1. , 2. , 3. ],‬‬
‫‪[ 1.5, 2. , 3. ],‬‬
‫)]] ‪[ 4. , 5. , 6.‬‬

‫]‪ >>> np.r_[e,f‬ادغام آرایهها به صورت عمودی (بر اساس سطر)‬

‫))‪ >>> np.hstack((e,f‬ادغام آرایهها به صورت افقی (بر اساس ستون)‬


‫‪array([[ 7., 7., 1., 0.],‬‬
‫)]]‪[ 7., 7., 0., 1.‬‬

‫))‪ >>> np.column_stack((a,d‬ساخت آرایههای ادغام شده بر اساس ستون‬


‫‪array([[ 1, 10],‬‬
‫‪[ 2, 15],‬‬
‫)]]‪[ 3, 20‬‬

‫]‪ >>> np.c_[a,d‬ساخت آرایههای ادغام شده بر اساس ستون‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬
‫‪blog.faradars.org‬‬ ‫مجله فرادرس‬ ‫‪ – BFCS0010‬تقلبنامه پایتون برای علم داده‬

‫تفکیک آرایهها‬
‫)‪>>> np.hsplit(a,3‬‬
‫تفکیک آرایه به صورت افقی از اندیس سوم‬
‫])]‪[array([1]),array([2]),array([3‬‬

‫)‪>>> np.vsplit(c,2‬‬
‫تفکیک آرایه به صورت عمودی در اندیس دوم‬
‫‪[array([[[ 1.5, 2. , 1. ],‬‬
‫‪[ 4. , 5. , 6. ]]]),‬‬
‫‪array([[[ 3., 2., 3.],‬‬
‫])]]]‪[ 4., 5., 6.‬‬

‫مجموعه آموزشهای دادهکاوی فرادرس (‪+‬کلیک کنید)‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬

‫جهت آگاهی از آخرین تقلبنامههای منتشر شده‪ ،‬در کانال تلگرام مجله فرادرس عضو شوید‪.‬‬

‫تهیه و تنظیم‪ :‬مجله فرادرس‬

‫منبع‬

‫برای مشاهده دیگر «تقلبنامههای» مجله فرادرس‪ ،‬به این لینک مراجعه فرمایید‪.‬‬

You might also like