更新時(shí)間:2022-10-31 來源:黑馬程序員 瀏覽量:
NumPy支持比Python更多的數(shù)據(jù)類型。本節(jié)筆者將為大家介紹一些常用的數(shù)據(jù)類型,以及這些數(shù)據(jù)類型之間的轉(zhuǎn)換。
如前面所述,通過“ndarray.dtype”可以創(chuàng)建一個(gè)表示數(shù)據(jù)類型的對象。要想獲取數(shù)據(jù)類型的名稱,則需要訪問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或Mac OS系統(tǒng)輸出結(jié)果為int64,當(dāng)然也可以通過dtype來指定數(shù)據(jù)類型的長度。
上述代碼中,使用dtype屬性查看data_one對象的類型,輸出結(jié)果是int32。從數(shù)據(jù)類型的命名方式上可以看出,NumPy的數(shù)據(jù)類型是由一個(gè)類型名(如int、float)和元素位長的數(shù)字組成。
如果在創(chuàng)建數(shù)組時(shí),沒有顯式地指明數(shù)據(jù)的類型,則可以根據(jù)列表或元組中的元素類型推導(dǎo)出來。默認(rèn)情況下,通過zeros()、ones()、empty()函數(shù)創(chuàng)建的數(shù)組中數(shù)據(jù)類型為float64。
表2-2中羅列了NumPy中常用的數(shù)據(jù)類型。
表2-2 NumPy中常用的數(shù)據(jù)類型
每一個(gè)NumPy內(nèi)置的數(shù)據(jù)類型都有一個(gè)特征碼,它能唯一標(biāo)識(shí)一種數(shù)據(jù)類型,具體如表2-3所示。
表2-3 NumPy內(nèi)置特征碼