NumPy 資料型別

2021-09-28 12:39:00 字數 3640 閱讀 8096

numpy提供的數值型別,數值範圍比python提供的數值型別更大。numpy的數值型別,如下表所示:

sn資料型別描述1

bool_

布林值,取值ture/false,占用乙個位元組

2int_

是integer的預設型別。與c語言中的long型別相同,有可能是64位或32位。

3intc

類似於c語言中的整數型別(int),表示32位或64位的整型。

4intp

表示用於索引的整數。

5int8

8位整數,值的範圍是-128到127。

6int16

2位元組(16位)整數。範圍是-32768到32767。

7int32

4位元組(32位)的整數。範圍是-2147483648到2147483647。

8int64

8位元組(64位)整數。範圍是-9223372036854775808到9223372036854775807。

9uint8

1位元組(8位)無符號整數。

10uint16

2位元組(16位)無符號整數。

11uint32

4位元組(32位)無符號整數。

12uint64

8位元組(64位)無符號整數。

13float_

與float64相同。

14float16

半精度浮點數。5位保留給指數,10位保留給尾數,1位保留給符號。

15float32

單精度浮點數。8位保留給指數,23位保留給尾數,1位保留給符號。

16float64

雙精度浮點數。指數保留11位,尾數保留52位,符號保留1位。

17complex_

與complex128相同。

18complex64

複數,實數和虛數各佔32位。

19complex128

複數,實數和虛數各佔64位。

上述所有數值型別,都可由dtype描述。

資料型別物件/dtype,是描述陣列中元素資料型別的物件。具體內容包括:

位元組順序由資料型別的字首(』<『或』>』)決定。』<『表示小端,』>'表示大端。

我們可以使用以下語法,建立乙個dtype物件。

numpy.dtype(

object

, align, copy)

引數:

示例

import numpy as np 

dt = np.dtype(np.int32)

print

(dt)

輸出

int32
示例

#int8, int16, int32, int64 等價於字串 'i1', 'i2','i4', etc. 

import numpy as np

dt = np.dtype(

'i4'

)print

(dt)

輸出

int32
示例

# 使用位元組順序標記

import numpy as np

dt = np.dtype(

'>i4'

)print

(dt)

輸出

>i4
我們可以建立類似字典的資料型別,包括欄位名與字段值。

下面的示例展示了結構化資料型別的使用。

示例

# 先建立結構化資料型別

import numpy as np

dt = np.dtype([(

'age'

,np.int8)])

# 格式是:[('欄位名', 字段型別)]

print

(dt)

輸出

[

('age', 'i1'

)]

示例

# 現在將它應用到ndarray物件

import numpy as np

dt = np.dtype([(

'age'

,np.int8)])

a = np.array([(

10,),

(20,)

,(30,

)], dtype = dt)

print

(a)

輸出

[

(10,)

(20,)

(30,)

]

示例

# 欄位名可用於訪問列的內容

import numpy as np

dt = np.dtype([(

'age'

,np.int8)])

a = np.array([(

10,),

(20,)

,(30,

)], dtype = dt)

print

(a['age'

])

輸出

[10 20 30]
示例

下面的示例定義了乙個名為student的結構化資料型別,其中包含字串字段「name」、整數字段「age」和浮點字段「marks」。然後將此dtype應用於ndarray物件。

import numpy as np 

student = np.dtype([(

'name'

,'s20'),

('age'

,'i1'),

('marks'

,'f4')]

)print

(student)

輸出

[

('name', 's20'

), (

'age', 'i1'

), (

'marks', ')

])

import numpy as np 

student = np.dtype([(

'name'

,'s20'),

('age'

,'i1'),

('marks'

,'f4')]

) a = np.array([(

'abc',21

,50),

('xyz',18

,75)]

, dtype = student)

print

(a)

輸出

[

('abc', 21, 50.0), (

'xyz', 18, 75.0)

]

每個內建資料型別都有乙個唯一標識它的字元**。

NumPy 資料型別

numpy 支援比 python 更多種類的數值型別。下表顯示了 numpy 中定義的不同標量資料型別。序號資料型別及描述 1.bool 儲存為乙個位元組的布林值 真或假 2.int 預設整數,相當於 c 的long,通常為int32或int64 3.intc相當於 c 的int,通常為int32或...

Numpy資料型別

numpy是python的一種開源的數值計算擴充套件,是一些針對矩陣進行運算的模組。1.numpy介紹 2.numpy 學習筆記 3.python中的list和array的不同之處 4.python列表 numpy陣列與矩陣的區別 1.python中的list和np.array的不同之處 numpy...

Numpy資料型別

構造語法 numpy.dtype object,align,copy object 被轉換為資料型別的物件 align 如果為true,則向字段新增間隔,使其類似c的結構體 copy 生成dtype物件的新副本,如果為flase,結果是內建資料型別物件的引用。檢視ndarray的資料型別 dtype...