مهمترین نوع داده تعریف شده در کتابخانه Numpy نوع آرایه چندبعدی به نام ndarray می باشد. این نوع شامل کلکسیونی از دادههای هم نوع میباشد و ایندکس گذاری این نوع آرایه از صفر شروع میشود. هر عنصر این آرایه فضای مشخصی از حافظه را به خود اختصاص میدهد یعنی عنصر موجود در خانه صفرام با خانه سوم از لحاظ اشغال کردن فضای حافظه هیچ تفاوتی ندارند. ابتداییترین نحوه تعریف آرایه به صورت numpy.array است که دارای پارامترهایی به شرح ذیل می باشد.
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
object: هر دنباله ایی از اعداد که میتواند از نوع رشته، اعداد صحیح و اعشاری و هر یک از انواع داده که توضیح داده شده است باشد.
dtype: این پارامتر اختیاری است و یکی از نوع داده ها را می توان اینجا قرار داد.
copy: اختیاری است و به صورت پیش فرض true است و دنباله ی اعداد را کپی می کند.
order: نحوه ی ذخیرهسازی در حافظه را تعیین می کند که حرف C مرتب سازی بر اساس ردیف را انجام می دهد و حرف F مرتب سازی بر مبنای ستون است.
ndim: حداقل ابعاد آرایه نتیجه را مشخص میکند
همانطور که در بالا بیان شد، آرایه ها میتوانند ابعاد مختلفی بپذیرند که با آرگومان ndim در زمان ساخت آرایه مشخص میشود، البته با تعداد کروشه های [] تو در تو مشخص میگردد. که در مثال زیر تعداد 5 کروشه تو در تو نشان دهنده 5 بعدی بودن آرایه خروجی میباشد. در اصل این متد لیستی از اعداد را میگیرد و با دریافت ابعاد، خروجی را به آن صورت نشان میدهد.
به عنوان مثال:
import numpy as np my_array = np.array([1,2,3,4,5], ndim=5) my_array
Output: array([[[[[1, 2, 3, 4, 5]]]]])
در Numpy آرایه با بعد صفر نیز وجود دارد، که در اصل یک عدد میباشد که در مثال زیر نحوهی استفاده از آن مشخص شده است.
scalar_array = np.array(22) scalar_array
Output: array(22)
برای چک کردن ابعاد یک آرایه از خط کد زیر استفاده میکنیم.
print(scalar_array.ndim)
Output: 0
مثال آرایه دو بعدی:
array_2d = np.array([[1,2,3],[4,5,6]]) array_2d
Output: array([[1, 2, 3], [4, 5, 6]])
برای بدست آوردن نوع داده های موجود در یک آرایه از کد زیر استفاده میکنیم:
array_2d.dtype
Output: dtype('int32')
array_float = np.array([1.56, 31.5, -0.1]) array_float.dtype
Output: dtype('float64')
ساخت آرایه از نوع اعداد مختلط:
array_complex = np.array([1, 2, 3], dtype = complex) array_complex
Output: array([1.+0.j, 2.+0.j, 3.+0.j])
هر یک از دیتاتایپهای معرفی شده در بخش انواع داده را میتوان به عنوان مقدار dtype قرار داد.
خطای رایج:
اکثر مواقع اشتباه در تعداد به کارگیری کروشهها رخ میدهد و یا حتی فراموش میشود. مثال:
a = np.array(1,2,3,4)
خطای رخ داده به شرح زیر میباشد:
ValueError: only 2 non-keyword arguments accepted
نکته مهمی که در مورد آرایه ها در کتابخانه Numpy وجود دارد بحث مربوط به محورها میباشد، همانطور که از ریاضیات مقطع ابتدایی مفاهیمی چون محورهای x و y وجود داشت، در آرایههای این کتابخانه نیز محورها دارای مفهوم میباشد که در قالب حرکت در سطرها و ستونها معنی پیدا میکنند که در بحث عملیات / متدهای آرایه ها مثال عملی زده میشود، که در شکل زیر مشخص می باشد:

فراموش نشود که این محورها در آرایه یک بعدی به صورت شکل زیر میباشد.

در آرایه های سه بعدی نیز به صورت زیر است:

همانطور که در بالا اشاره شد، ایندکس گذاری در آرایهها از صفر شروع میشود که مثال زیر روشن کننده این مطلب میباشد:
array_names = np.array(['Sara','Mina','Ali','Ahmad','Mohammad']) print(np.where(array_names == 'Sara'))
Output: (array([0], dtype=int64),)