کتابخانه علوم داده numpy (قسمت پنچم) | دیتا تایپ ها در نامپای
در این قسمت از آموزش پکیج پایتون نامپای میخواهیم دیتا تایپ ها در نامپای را برسی کنیم برای اینکار ابتدا دیتا تایپ ها در پایتون را باید بشناسید.
دیتا تایپ ها در پایتون
پایتون به صورت خلاصه دیتا تایپ های زیر را دارد
- strings
- integer
- float
- boolean
- complex
برای آشنایی بیشتر میتوانید آموزش (دیتا تایپ چیست و انواع دیتا تایپ های پایتون ) مطالعه کنید.
دیتا تایپ ها در نامپای
نامپای تعداد بیشتری دیتا تایپ دارد و برای هر کدام نمادی قرار داده است که در زیر میتوانید ببینید.
- i - integer
- b - boolean
- u - unsigned integer
- f - float
- c - complex float
- m - timedelta
- M - datetime
- O - object
- S - string
- U - unicode string
- V - fixed chunk of memory for other type ( void )
چک کردن دیتا تایپ های یک آرایه در نامپای
در آرایههای نامپای به کمک مقدار dtype میتوان تایپها را فهمید به مثال زیر توجه کنید:
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)
و خروجی آن ==> int64
ساخت آرایه ها با تایپی متفاوت در نامپای
ما برای ساخت آرایه ها از تابع array استفاده میکنیم , این تابع دارای یک ویژگی به نام dtype میباشد که به ما این امکان را میدهد تا تایپ مورد نظر خود را از آرایه بخواهیم به مثال زیر توجه کنید :
import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)
وخروجی آن ==>
[b'1' b'2' b'3' b'4']
|S1
برای مقدارهای i, u, f,U , S میتوان اندازه نیز در نظر گرفت.
import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)
و خروجی آن ==>
[1 2 3 4]
int32
اگر داده قابل تغییر نبود چه اتفاقی میافتد؟
اگر چنین شرایطی به وجود بیاید که نامپای نتواند تایپی را به تایپی دیگر تبدیل کند ارور مشخصی را برای شما باز میگرداند.
import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')
و خروجی آن ==>
:Traceback (most recent call last)
File "./prog.py", line 3, in
'ValueError: invalid literal for int() with base 10: 'a
تبدیل تایپها در آرایههای از قبل ساخته شده
بهترین راه برای تبدیل تایپ یک آرایه نامپای استفاده از متد()astype این متد یک کپی از آرایه شما گرفته و تبدیل به تایپی که به آن دادید میکند و در یک متغیر میریزد .
به مثال زیر توجه کنید:
import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)
و خروجی آن ==>
[1 2 3]
int32
آموزش بعدی ...
آموزش قبلی : کتابخانه علوم داده numpy (قسمت چهارم) | اسلایس کردن آرایههای نامپای
نظرات(2)
OnewPlelm
But you will need to stop taking certain medications, especially stimulants, before treatment because they could inhibit treatment efficacy <a href=http://stromectol.one>stromectol tablete</a>
1401/11/07 پاسخ
dapCheare
The fear is that higher buffers may restrict profits and tie up funds they need to invest <a href=http://bestcialis20mg.com/>buy cialis online prescription</a>
1401/07/28 پاسخ
نظر خود را وارد کنید