در بخش معرفی آرایههای Numpy به صورت مختصر ساختار کلی تعریف آرایه با ابعاد مختلف را شرح دادیم. نکته قابل ملاحظه در خصوص آرایههای Numpy بحث آرایههای از پیش تعریف شده یا داخلی در این کتابخانه میباشد. که در زیر به شرح مختصری از آن با ذکر چند مثال میپردازیم.
- آرایه با مقادیر صفر: (numpy.zeros)
در این کتابخانه در صورت نیاز میتوانید آرایهای با ابعاد دلخواه و مقادیر صفر ایجاد نمایید. که تعریف کلی آن به شکل زیر میباشد.
numpy.zeros(shape, dtype=float, order=’C’)
پارامترها:
shape: ابعاد آرایه را مشخص میکند که می تواند در قالب اعداد صحیح و یا نوع tuple باشد.
dtype: هر یک از انواع داده را میتواند در این بخش قرار داد که پیش فرض آن نوع numpy. float64 میباشد.
order: ترتیب ذخیره دادهها در حافظه، که به دو نوع ردیفی و ستونی میباشد که پیش فرض آن ‘C’ که بیان کننده ذخیره سازی ردیفی است میباشد و ‘F’ که ذخیرهسازی ستونی را در نظر میگیرد.
import numpy as np
np.zeros(7)
Output: array([0., 0., 0., 0., 0., 0., 0.])
np.zeros((3,3), dtype=int, order='F')
Output: array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
همانطور که بیان شد، در مثال اول در صورتی که نوع داده را ذکر نکنید به صورت پیش فرض اعداد را از نوع اعشاری در نظر میگیرد.
آرایه با مقادیر یک: (numpy.ones)
در این کتابخانه در صورت نیاز میتوانید آرایهای با ابعاد دلخواه و مقادیر یک ایجاد نمایید. به اینصورت که تمامی مقادیر در زمان ایجاد آرایه از این نوع مقدار، یک است که در فرآیندی قابل تغییر به مقادیر دلخواهمان میباشد. تعریف کلی آن به صورت زیر است:
numpy.ones(shape, dtype=None, order='C')
پارامترها:
shape: ابعاد آرایه را تعیین میکند که در دو قالب اعداد صحیح و tuple میتواند باشد.
dtype: هر یک از انواع داده را میتوان به عنوان پارامتر به آن ارسال کرد و مثل آرایه با مقدار صفر پیش فرض آن numpy.float64 میباشد.
order: همانطور که در بالا شرح داده شد، نحوه ذخیرهسازی داده در حافظه را تعیین میکند.
np.ones(2)
Output: array([1., 1.])
np.ones((3,4), dtype=complex, order= 'F')
Output: array([[1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j],
[1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j],
[1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j]])
- آرایه دوبعدی با قطر یک: (numpy.eye)
در بعضی مواقع نیاز به ایجاد آرایهای دو بعدی به صورت شکل زیر میباشیم که در آن تمامی اعداد صفر باشد و فقط قطر تعیین شده در آن عدد یک باشد. به صورت پیش فرض قطر اصلی دارای عدد یک میباشد.
تعریف کلی این نوع آرایه به شرح زیر است:
numpy.eye(N, M=None, k=0, dtype=<class 'float'>, order='C')
پارامترها:
N: تعداد ردیف ها در خروجی که عددی صحیح است.
M: تعداد ستون ها در خروجی که اختیاری است و اگر ذکر نشود به صورت پیش فرض عدد N را در نظر میگیرد.
k: ایندکس قطر را مشخص میکند. که در تصویر زیر توضیح داده شده است که سه مقدار k=0 که مشخص کننده قطر اصلی است و k > 0 که مشخص کننده قطرهای بالای قطر اصلی است و k < 0 مشخص کننده قطرهای پایین قطر اصلی است. البته این پارامتر اختیاری است و پیش فرض آن صفر است. و با مشخص کردن این پارامتر، آن قطر عدد یک را می پذیرد و سایر اعداد را صفر در نظر میگیرد.
dtype: که نوع اعداد داخل آرایه را تعیین میکند که پیش فرض آن numpy.float64 است.
order: نحوهی ذخیره سازی اعداد در حافظه را تعیین میکند.
np.eye(3,k = -1, dtype= int, order='F')
Output: array([[0, 0, 0],
[1, 0, 0],
[0, 1, 0]])
در مثال بالا مقداری برای پارامتر M ارسال نشده است، ولی همانطور که اشاره شد مقدار N را در نظر میگیرد. و k چون مقدار -1 را دارد همانند شکل بالا با یک پر کرده و سایر اعداد را صفر در نظر گرفته است.
آرایه خالی:(numpy.empty)
آرایهای با نوع و ابعاد مشخص را ایجاد میکند و با اعدادی رندم پر میکند. که این اعداد دارای هیچ مفهومی نمیباشد. که تعریف کلی آن به صورت زیر است:
numpy.empty(shape, dtype=float, order='C')
پارامترها:
shape: ابعاد آرایه خالی را مشخص میکند که مانند سایر آرایه ها دو عدد صحیح و tuple را میپذیرد.
dtype: نوع داده ها را تعیین میکند. و مانند سایر ارایه های داخلی پیش فرض آن numpy.float64 است.
order: نحوهی ذخیره سازی در حافظه را تعیین میکند. که پیش فرض آن ‘C’ است.
np.empty((3,2), dtype=int)
Output: array([[-1758688176, 418],
[ 0, 0],
[ 1, 418]])
- آرایه پر: (numpy.full)
آرایهای با نوع و ابعاد مشخص شده و مقدار مورد نظر ایجاد مینماید.
numpy.full(shape, fill_value, dtype=None, order='C')
پارامترها:
shape: ابعاد آرایه را تعیین میکند.
fill_value: عددی که آرایه با آن پر میشود.
dtype: نوع داده های درون آرایه را تعیین میکند.
order: نحوهی ذخیره سازی در حافظه را مشخص میکند.
np.full((2, 1),np.inf)
Output: array([[inf],
[inf]])
np.full(5, 12)
Output: array([12, 12, 12, 12, 12])