numpy支持比python更多的数据类型_NumPy数据类型
NumPy - 數據類型
NumPy 支持比 Python 更多種類的數值類型。 下表顯示了 NumPy 中定義的不同標量數據類型。
序號數據類型及描述
1.
bool_存儲為一個字節的布爾值(真或假)
2.
int_默認整數,相當于 C 的long,通常為int32或int64
3.
intc相當于 C 的int,通常為int32或int64
4.
intp用于索引的整數,相當于 C 的size_t,通常為int32或int64
5.
int8字節(-128 ~ 127)
6.
int1616 位整數(-32768 ~ 32767)
7.
int3232 位整數(-2147483648 ~ 2147483647)
8.
int6464 位整數(-9223372036854775808 ~ 9223372036854775807)
9.
uint88 位無符號整數(0 ~ 255)
10.
uint1616 位無符號整數(0 ~ 65535)
11.
uint3232 位無符號整數(0 ~ 4294967295)
12.
uint6464 位無符號整數(0 ~ 18446744073709551615)
13.
float_float64的簡寫
14.
float16半精度浮點:符號位,5 位指數,10 位尾數
15.
float32單精度浮點:符號位,8 位指數,23 位尾數
16.
float64雙精度浮點:符號位,11 位指數,52 位尾數
17.
complex_complex128的簡寫
18.
complex64復數,由兩個 32 位浮點表示(實部和虛部)
19.
complex128復數,由兩個 64 位浮點表示(實部和虛部)
NumPy 數字類型是dtype(數據類型)對象的實例,每個對象具有唯一的特征。 這些類型可以是np.bool_,np.float32等。
數據類型對象 (dtype)
數據類型對象描述了對應于數組的固定內存塊的解釋,取決于以下方面:
數據類型(整數、浮點或者 Python 對象)
數據大小
字節序(小端或大端)
在結構化類型的情況下,字段的名稱,每個字段的數據類型,和每個字段占用的內存塊部分。
如果數據類型是子序列,它的形狀和數據類型。
字節順序取決于數據類型的前綴。意味著編碼是大端(最大有效字節存儲在最小地址中)。
dtype可由一下語法構造:
numpy.dtype(object, align, copy)
參數為:
Object:被轉換為數據類型的對象。
Align:如果為true,則向字段添加間隔,使其類似 C 的結構體。
Copy? 生成dtype對象的新副本,如果為flase,結果是內建數據類型對象的引用。
示例 1
# 使用數組標量類型
import numpy as np
dt = np.dtype(np.int32)
print dt
輸出如下:
int32
示例 2
#int8,int16,int32,int64 可替換為等價的字符串 'i1','i2','i4',以及其他。
import numpy as np
dt = np.dtype('i4')
print dt
輸出如下:
int32
示例 3
# 使用端記號
import numpy as np
dt = np.dtype('>i4')
print dt
輸出如下:
>i4
下面的例子展示了結構化數據類型的使用。 這里聲明了字段名稱和相應的標量數據類型。
示例 4
# 首先創建結構化數據類型。
import numpy as np
dt = np.dtype([('age',np.int8)])
print dt
輸出如下:
[('age', 'i1')]
示例 5
# 現在將其應用于 ndarray 對象
import numpy as np
dt = np.dtype([('age',np.int8)])
a = np.array([(10,),(20,),(30,)], dtype = dt)
print a
輸出如下:
[(10,) (20,) (30,)]
示例 6
# 文件名稱可用于訪問 age 列的內容
import numpy as np
dt = np.dtype([('age',np.int8)])
a = np.array([(10,),(20,),(30,)], dtype = dt)
print a['age']
輸出如下:
[10 20 30]
示例 7
以下示例定義名為?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', '
示例 8
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)]
每個內建類型都有一個唯一定義它的字符代碼:
'b':布爾值
'i':符號整數
'u':無符號整數
'f':浮點
'c':復數浮點
'm':時間間隔
'M':日期時間
'O':Python 對象
'S', 'a':字節串
'U':Unicode
'V':原始數據(void)
總結
以上是生活随笔為你收集整理的numpy支持比python更多的数据类型_NumPy数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv imread后做resiz
- 下一篇: java核心api_Java核心API需