全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

NumPy常用的數(shù)據(jù)類(lèi)型有哪些?怎樣進(jìn)行轉(zhuǎn)換?

更新時(shí)間:2021-06-09 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

NumPy支持比Python更多的數(shù)據(jù)類(lèi)型。下面介紹一些常用的數(shù)據(jù)類(lèi)型,以及這些數(shù)據(jù)類(lèi)型之間的轉(zhuǎn)換。

如前面所述,通過(guò)“ndarray.dtype”可以創(chuàng)建一個(gè)表示數(shù)據(jù)類(lèi)型的對(duì)象。要想獲取數(shù)據(jù)類(lèi)型的名稱(chēng),則需要訪問(wèn)name屬性進(jìn)行獲取,示例代碼如下。

In [20]: data_one = np.array([[1, 2, 3], [4, 5, 6]])
In [21]: data_one.dtype.name 
Out[21]: 'int32'

注意:

在默認(rèn)情況下,64位windows系統(tǒng)輸出的結(jié)果為int32, 64位Linux或macOS系統(tǒng)輸出結(jié)果為int64,當(dāng)然也可以通過(guò)dtype來(lái)指定數(shù)據(jù)類(lèi)型的長(zhǎng)度。

上述代碼中,使用dtype屬性查看data_one對(duì)象的類(lèi)型,輸出結(jié)果是int32。從數(shù)據(jù)類(lèi)型的命名方式上可以看出,NumPy的數(shù)據(jù)類(lèi)型是由一個(gè)類(lèi)型名(如int、float)和元素位長(zhǎng)的數(shù)字組成。

如果在創(chuàng)建數(shù)組時(shí),沒(méi)有顯式地指明數(shù)據(jù)的類(lèi)型,則可以根據(jù)列表或元組中的元素類(lèi)型推導(dǎo)出來(lái)。默認(rèn)情況下,通過(guò)zeros()、ones()、empty()函數(shù)創(chuàng)建的數(shù)組中數(shù)據(jù)類(lèi)型為float64。

1623217666695_NumPy的數(shù)據(jù)類(lèi)型1.jpg


表1羅列了NumPy中常用的數(shù)據(jù)類(lèi)型。

表1 NumPy的數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型                                  
含義                                              
bool布爾類(lèi)型,值為T(mén)rue或False
int8、uint8有符號(hào)和無(wú)符號(hào)的8位整數(shù)
int16、uint16有符號(hào)和無(wú)符號(hào)的16位整數(shù)
int32、uint32有符號(hào)和無(wú)符號(hào)的32位整數(shù)
int64、uint64有符號(hào)和無(wú)符號(hào)的64位整數(shù)
float16半精度浮點(diǎn)數(shù)(16位)
float32半精度浮點(diǎn)數(shù)(32位)
float64半精度浮點(diǎn)數(shù)(64位)
complex64復(fù)數(shù),分別用兩個(gè)32位浮點(diǎn)數(shù)表示實(shí)部和虛部                            
complex128復(fù)數(shù),分別用兩個(gè)64位浮點(diǎn)數(shù)表示實(shí)部和虛部
objectPython對(duì)象
string_固定長(zhǎng)度的字符串類(lèi)型
unicode固定長(zhǎng)度的unicode類(lèi)型


每一個(gè)NumPy內(nèi)置的數(shù)據(jù)類(lèi)型都有一個(gè)特征碼,它能唯一標(biāo)識(shí)一種數(shù)據(jù)類(lèi)型,具體如表2所示。

表2 NumPy內(nèi)置特征碼

特征碼                                       含義
b布爾型
u無(wú)符號(hào)整型                                                                       
c復(fù)數(shù)類(lèi)型
S,a字節(jié)字符串
V原始數(shù)據(jù)
i有符號(hào)整型
f浮點(diǎn)型
OPython對(duì)象
Uunicode字符串







猜你喜歡:

Python不同數(shù)據(jù)類(lèi)型之間可以相互轉(zhuǎn)換嗎?

Python轉(zhuǎn)換數(shù)據(jù)類(lèi)型的函數(shù)有哪些?

認(rèn)識(shí)Scala的數(shù)據(jù)類(lèi)型【大數(shù)據(jù)基礎(chǔ)】

黑馬程序員python+大數(shù)據(jù)培訓(xùn)課程

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!