您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Python numpy常用的數(shù)據(jù)類型是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python numpy常用的數(shù)據(jù)類型是什么”吧!
Python 原生的數(shù)據(jù)類型相對(duì)較少, bool、int、float、str等。這在不需要關(guān)心數(shù)據(jù)在計(jì)算機(jī)中表示的所有方式的應(yīng)用中是方便的。然而,對(duì)于科學(xué)計(jì)算,通常需要更多的控制。為了加以區(qū)分 numpy 在這些類型名稱末尾都加了“_”。
類型 | 備注 | 說明 |
bool8 = bool_(加下滑線代表為最大) | 8位(一個(gè)字節(jié)八位) | 布爾類型 |
int8 = byte | 8位 | 整型 |
int16 = short | 16位 | 整型 |
int32 = intc | 32位 | 整型 |
int_ = int64 = long = int0 = intp | 64位 | 整型 |
uint8 = ubyte | 8位 | 無符號(hào)整型 |
uint16 = ushort | 16位 | 無符號(hào)整型 |
uint32 = uintc | 32位 | 無符號(hào)整型 |
uint64 = uintp = uint0 = uint | 64位 | 無符號(hào)整型 |
float16 = half | 16位 | 浮點(diǎn)型 |
float32 = single | 32位 | 浮點(diǎn)型 |
float_ = float64 = double | 64位 | 浮點(diǎn)型 |
str_ = unicode_ = str0 = unicode | Unicode 字符串 | |
datetime64 | 日期時(shí)間類型 | |
timedelta64 | 表示兩個(gè)時(shí)間之間的間隔 |
numpy 的數(shù)值類型實(shí)際上是 dtype 對(duì)象的實(shí)例。
class dtype(object): def __init__(self, obj, align=False, copy=False): pass
數(shù)據(jù)類型對(duì)象 (dtype)
數(shù)據(jù)類型對(duì)象(numpy.dtype 類的實(shí)例)用來描述與數(shù)組對(duì)應(yīng)的內(nèi)存區(qū)域是如何使用,它描述了數(shù)據(jù)的以下幾個(gè)方面::
數(shù)據(jù)的類型(整數(shù),浮點(diǎn)數(shù)或者 Python 對(duì)象)
數(shù)據(jù)的大?。ɡ纾?整數(shù)使用多少個(gè)字節(jié)存儲(chǔ))
數(shù)據(jù)的字節(jié)順序(小端法或大端法)
在結(jié)構(gòu)化類型的情況下,字段的名稱、每個(gè)字段的數(shù)據(jù)類型和每個(gè)字段所取的內(nèi)存塊的部分
如果數(shù)據(jù)類型是子數(shù)組,那么它的形狀和數(shù)據(jù)類型是什么。
字節(jié)順序是通過對(duì)數(shù)據(jù)類型預(yù)先設(shè)定 < 或 > 來決定的。 < 意味著小端法(最小值存儲(chǔ)在最小的地址,即低位組放在最前面)。> 意味著大端法(最重要的字節(jié)存儲(chǔ)在最小的地址,即高位組放在最前面)。
dtype 對(duì)象是使用以下語法構(gòu)造的:
numpy.dtype(object, align, copy)
object - 要轉(zhuǎn)換為的數(shù)據(jù)類型對(duì)象
align - 如果為 true,填充字段使其類似 C 的結(jié)構(gòu)體。
copy - 復(fù)制 dtype 對(duì)象 ,如果為 false,則是對(duì)內(nèi)置數(shù)據(jù)類型對(duì)象的引用
每個(gè)內(nèi)建類型都有一個(gè)唯一定義它的字符代碼,如下:
字符 | 對(duì)應(yīng)類型 | 備注 |
b | boolean | 'b1'(將這個(gè)字符代碼作為參數(shù)傳給dtype,則會(huì)建立boolean實(shí)例) |
i | signed integer | 'i1', 'i2', 'i4', 'i8' |
u | unsigned integer | 'u1', 'u2' ,'u4' ,'u8' |
f | floating-point | 'f2', 'f4', 'f8' |
c | complex floating-point | |
m | timedelta64 | 表示兩個(gè)時(shí)間之間的間隔 |
M | datetime64 | 日期時(shí)間類型 |
O | object | |
S | (byte-)string | S3表示長(zhǎng)度為3的字符串 (傳入的參數(shù) 必須是大寫S)Bytes 代表的是(二進(jìn)制)數(shù)字的序列,只不過在是通過 ASCII 編碼之后才是我們看到的字符形式 |
U | Unicode | Unicode 字符串 (傳入的參數(shù) 必須是大寫U) |
V | void |
結(jié)構(gòu)化數(shù)據(jù)類型的使用,類型字段和對(duì)應(yīng)的實(shí)際類型將被創(chuàng)建:
dt = np.dtype([("age",np.int_)]) dt
a = np.array([(31,),(27,),(36,),(28,),(18,)],dtype=dt) a["age"]
定義一個(gè)結(jié)構(gòu)化數(shù)據(jù)類型 student,包含字符串字段 name,整數(shù)字段 age,及浮點(diǎn)字段 marks,并將這個(gè) dtype 應(yīng)用到 ndarray 對(duì)象。
student = np.dtype([("name","S30"),("age",np.int_),("marks","f4")]) student
student = np.dtype([("name","S30"),("age",np.int_),("marks","f4")]) a = np.array([("STZZ",31,0.3),("WJ",22,0.9),("WTX",27,1.0)],dtype=student) a
a["name"] a["age"] a["marks"]
到此,相信大家對(duì)“Python numpy常用的數(shù)據(jù)類型是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。