کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

انواع داده (Data Type) در NumPy

NumPy دیتا تایپ های گسترده‌تری را نسبت به آنچه توسط Python ارائه می‌شود فراهم می‌کند. لیستی از انواع داده‌های عددی در جدول زیر آمده است.

ردیف
نوع داده
توضیح
1
bool_
این نوع داده برای نشان‌دهنده مقدار منطقی صحیح یا غلط است و به صورت یک بایت ذخیره می‌شود.
2
int_
این نوع داده اندازه پیش‌فرض برای اعداد صحیح است و با نوع long در زبان C که شامل عدد صحیح 32 یا 64 بیتی است، مشابه است.
3
intc
این نوع مشابه integer C (c int) است و نماینده اعدادصحیح 32 یا 64 بیتی است
4
intp
این نوع داده به نمایندگی از اعداد صحیح مورد استفاده در فهرست‌ها و اندیس‌گذاری‌ها مورد استفاده قرار می‌گیرد.
5
int8
این نوع داده، عدد صحیح 8 بیتی مشابه یک بایت است و محدوده مقادیر آن از -128 تا 127 است.
6
int16
| این نوع داده، عدد صحیح 16 بیتی (2 بایت) است و محدوده مقادیر آن از -32768 تا 32767 است.
7
int32
این نوع داده، عدد صحیح 32 بیتی (4 بایت) است و محدوده مقادیر آن از -2147483648 تا 2147483647 است.
8
int64
این نوع داده، عدد صحیح بدون علامت 64 بیتی (8 بایت) است.
9
uint8
این نوع داده، عدد صحیح بدون علامت 8 بیتی (1 بایت) است.
10
uint16
این نوع داده، عدد صحیح بدون علامت 16 بیتی (2 بایت) است.
11
uint32
این نوع داده، عدد صحیح بدون علامت 32 بیتی (4 بایت) است.
12
uint64
این نوع داده، عدد صحیح بدون علامت 64 بیتی (8 بایت) است.
13
float_
این نوع داده مشابه float64 است.
14
float16
این نوع داده، اعشاری نیمه‌دقت (half-precision) است که 5 بیت برای نمایاندن توان دارد، 10 بیت برای نمایاندن بخش صحیح (mantissa) دارد و 1 بیت برای نشان‌دهنده علامت است.
15
float32
این نوع داده، اعشاری تک‌دقت (single precision) است که 8 بیت برای نمایاندن توان دارد، 23 بیت برای نمایاندن بخش صحیح (mantissa) دارد و 1 بیت برای نشان‌دهنده علامت است.
16
float64
این نوع داده، اعشاری دوگانه‌دقت (double precision) است که 11 بیت برای نمایاندن توان دارد، 52 بیت برای نمایاندن بخش صحیح (mantissa) دارد و 1 بیت برای نشان‌دهنده علامت است.
17
complex_
این نوع داده مشابه complex128 است.
18
complex64
این نوع داده برای نمایاندن اعداد مختلط است که بخش حقیقی و بخش واقعی هر کدام 32 بیت را اشتراک می‌کنند.
19
complex128
| این نوع داده برای نمایاندن اعداد مختلط است که بخش حقیقی و بخش واقعی هر کدام 64 بیت را اشتراک می‌کنند.

dtype در NumPy

همه موارد یک آرایه NumPy شامل اشیاء نوع داده همچنین به نام NumPy dtypes هستند. یک شیء نوع داده اندازه ثابتی از حافظه را که به یک آرایه متناظر می‌شود، پیاده‌سازی می‌کند.

می‌توانیم یک شیء نوع داده با استفاده از سینتکس زیر ایجاد کنیم:

numpy.dtype(object, align, copy)  

سازنده (constructor) شیء نوع داده در NumPy پارامترهای زیر را می‌پذیرد:

Object

این پارامتر نمایانگر شیء (object) است که می‌خواهید آن را به نوع داده تبدیل کنید. شیء مورد نظر می‌تواند یک نوع داده عادی یا یک نوع داده NumPy باشد.

Align

این پارامتر به یک مقدار منطقی (boolean) قابل تنظیم است. اگر True باشد، نوع داده جدید برای ایجاد تطابق با یک C struct، پیکربندی اضافی حافظه را اضافه می‌کند. این امکان مفید است زمانی که شما نیاز دارید که نوع داده جدید شما دقیقاً به اندازه‌ی حافظه مورد نیاز برای نوع داده معین باشد.

Copy

این پارامتر به صورت یک مقدار منطقی تعیین می‌شود. اگر True باشد، نوع داده جدید از نسخه جدیدی از نوع داده معین ایجاد می‌شود. این بدان معناست که هر تغییر در نوع داده جدید تأثیری بر نوع داده اصلی ندارد و تغییرات در یکی از آنها تأثیری بر دیگری نمی‌گذارد.

این پارامترها به شما امکان می‌دهند نوع داده‌های مختلف را از اشیاء معین ایجاد کرده و در صورت نیاز تنظیمات خاصی را برای آنها اعمال کنید.

مثال
import numpy as np  
d = np.dtype(np.int32)  
print(d)  

خروجی
int32
مثال
import numpy as np   
d = np.int32(i4)  
print(d)  

خروجی
int32

ایجاد نوع داده (دیتا تایپ) ساختار یافته

می‌توانیم یک نوع داده ساختار یافته را ایجاد کنیم که حاوی نگاشت (mapping) بین مقادیر باشد. به عبارت دیگر، می‌تواند حاوی ارتباط بین مواردی مانند کارمندان و حقوق آنها یا دانش‌آموزان و سن آنها باشد.

مثال
import numpy as np  
d = np.dtype([('salary',np.float)])  
print(d)  

خروجی
[('salary', '
مثال
import numpy as np  
d=np.dtype([('salary',np.float)])  
arr = np.array([(10000.12,),(20000.50,)],dtype=d)  
print(arr['salary'])  

خروجی
[(10000.12,) (20000.5 ,)]
1402/07/30 1009
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...