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 = byte | 8位 | 整型 |
int16 = short | 16位 | 整型 |
int32 = intc | 32位 | 整型 |
int_ = int64 = long = int0 = intp | 64位 | 整型 |
uint8 = ubyte | 8位 | 無符號(hào)整型 |
uint16 = ushort | 16位 | 無符號(hào)整型 |
uint32 = uintc | 32位 | 無符號(hào)整型 |
uint64 = uintp = uint0 = uint | 64位 | 無符號(hào)整型 |
float16 = half | 16位 | 浮點(diǎn)型 |
float32 = single | 32位 | 浮點(diǎn)型 |
float_ = float64 = double | 64位 | 浮點(diǎn)型 |
str_ = unicode_ = str0 = unicode | Unicode 字符串 | |
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ì)象是使用以下語(yǔ)法構(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)類型 | 備注 |
b | boolean | 'b1'(將這個(gè)字符代碼作為參數(shù)傳給dtype,則會(huì)建立boolean實(shí)例) |
i | signed integer | 'i1', 'i2', 'i4', 'i8' |
u | unsigned integer | 'u1', 'u2' ,'u4' ,'u8' |
f | floating-point | 'f2', 'f4', 'f8' |
c | complex floating-point | |
m | timedelta64 | 表示兩個(gè)時(shí)間之間的間隔 |
M | datetime64 | 日期時(shí)間類型 |
O | object | |
S | (byte-)string | S3表示長(zhǎng)度為3的字符串 (傳入的參數(shù) 必須是大寫S)Bytes 代表的是(二進(jìn)制)數(shù)字的序列,只不過在是通過 ASCII 編碼之后才是我們看到的字符形式 |
U | Unicode | Unicode 字符串 (傳入的參數(shù) 必須是大寫U) |
V | void |
結(jié)構(gòu)化數(shù)據(jù)類型的使用,類型字段和對(duì)應(yīng)的實(shí)際類型將被創(chuàng)建:
dt = np.dtype([("age",np.int_)]) dt
a = np.array([(31,),(27,),(36,),(28,),(18,)],dtype=dt) a["age"]
定義一個(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
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"]
到此這篇關(guān)于Python numpy有哪些常用數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)Python numpy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
django 發(fā)送手機(jī)驗(yàn)證碼的示例代碼
本篇文章主要介紹了django 發(fā)送手機(jī)驗(yàn)證碼的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04python利用pd.cut()和pd.qcut()對(duì)數(shù)據(jù)進(jìn)行分箱操作
本文主要介紹了python利用pd.cut()和pd.qcut()對(duì)數(shù)據(jù)進(jìn)行分箱操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Python空間數(shù)據(jù)處理之GDAL讀寫遙感圖像
這篇文章主要介紹了Python空間數(shù)據(jù)處理之GDAL讀寫遙感圖像,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Python 數(shù)據(jù)結(jié)構(gòu)之樹的概念詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之樹的概念詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09Python實(shí)現(xiàn)某論壇自動(dòng)簽到功能
這篇文章主要介紹了Python實(shí)現(xiàn)論壇自動(dòng)簽到功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Python利用wxPython實(shí)現(xiàn)ocr識(shí)別圖片漢字程序
在這篇博客中,我們將介紹一個(gè)如何使用wxPython構(gòu)建的簡(jiǎn)單OCR識(shí)別圖片漢字應(yīng)用程序,文章的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2023-08-08Django自定義YamlField實(shí)現(xiàn)過程解析
這篇文章主要介紹了Django自定義YamlField實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11