溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python?numpy常用的數(shù)據(jù)類型是什么

發(fā)布時(shí)間:2023-02-24 10:26:38 來源:億速云 閱讀:67 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Python numpy常用的數(shù)據(jù)類型是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python numpy常用的數(shù)據(jù)類型是什么”吧!

常見數(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 = byte8位整型
int16 = short16位整型
int32 = intc32位整型
int_ = int64 = long = int0 = intp64位整型
uint8 = ubyte8位無符號(hào)整型
uint16 = ushort16位無符號(hào)整型
uint32 = uintc32位無符號(hào)整型
uint64 = uintp = uint0 = uint64位無符號(hào)整型
float16 = half16位浮點(diǎn)型
float32 = single32位浮點(diǎn)型
float_ = float64 = double64位浮點(diǎn)型
str_ = unicode_ = str0 = unicodeUnicode 字符串
datetime64日期時(shí)間類型
timedelta64表示兩個(gè)時(shí)間之間的間隔

創(chuàng)建數(shù)據(jù)類型

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)類型備注
bboolean'b1'(將這個(gè)字符代碼作為參數(shù)傳給dtype,則會(huì)建立boolean實(shí)例)
isigned integer'i1', 'i2', 'i4', 'i8'
uunsigned integer'u1', 'u2' ,'u4' ,'u8'
ffloating-point'f2', 'f4', 'f8'
ccomplex floating-point
mtimedelta64表示兩個(gè)時(shí)間之間的間隔
Mdatetime64日期時(shí)間類型
Oobject
S(byte-)stringS3表示長(zhǎng)度為3的字符串 (傳入的參數(shù) 必須是大寫S)Bytes 代表的是(二進(jìn)制)數(shù)字的序列,只不過在是通過 ASCII 編碼之后才是我們看到的字符形式
UUnicodeUnicode 字符串 (傳入的參數(shù) 必須是大寫U)
Vvoid

Python?numpy常用的數(shù)據(jù)類型是什么

結(jié)構(gòu)化數(shù)據(jù)類型的使用,類型字段和對(duì)應(yīng)的實(shí)際類型將被創(chuàng)建:

dt = np.dtype([("age",np.int_)])
dt

Python?numpy常用的數(shù)據(jù)類型是什么

a = np.array([(31,),(27,),(36,),(28,),(18,)],dtype=dt)
a["age"]

Python?numpy常用的數(shù)據(jù)類型是什么

定義一個(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

Python?numpy常用的數(shù)據(jù)類型是什么

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"]

Python?numpy常用的數(shù)據(jù)類型是什么

到此,相信大家對(duì)“Python numpy常用的數(shù)據(jù)類型是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI