一文詳解Python數(shù)據(jù)分析模塊Numpy基礎(chǔ)數(shù)據(jù)類型
Numpy簡(jiǎn)介
?NumPy(Numerical Python) 是 Python 語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù),支持大量的維度數(shù)組與矩陣運(yùn)算,此外也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)。
NumPy? 是一個(gè)運(yùn)行速度非??斓臄?shù)學(xué)庫(kù),主要用于數(shù)組計(jì)算,包含:
- 一個(gè)強(qiáng)大的N維數(shù)組對(duì)象 ndarray
- 廣播功能函數(shù)
- 整合 C/C++/Fortran 代碼的工具
- 線性代數(shù)、傅里葉變換、隨機(jī)數(shù)生成等功能
NumPy Ndarray 對(duì)象
- NumPy 最重要的一個(gè)特點(diǎn)是其 N 維數(shù)組對(duì)象 ndarray,它是一系列同類型數(shù)據(jù)的集合,以 0 下標(biāo)為開始進(jìn)行集合中元素的索引
- ndarray 對(duì)象是用于存放同類型元素的多維數(shù)組
- ndarray 中的每個(gè)元素在內(nèi)存中都有相同存儲(chǔ)大小的區(qū)域
numpy對(duì)象創(chuàng)建:
名稱 | 描述 |
object | 數(shù)組或嵌套的數(shù)列 |
dtype | 數(shù)組元素的數(shù)據(jù)類型,可選 |
copy | 對(duì)象是否需要復(fù)制,可選 |
order | 創(chuàng)建數(shù)組的樣式,C為行方向,F(xiàn)為列方向,A為任意方向(默認(rèn)) |
subok | 默認(rèn)返回一個(gè)與基類類型一致的數(shù)組 |
ndmin | 指定生成數(shù)組的最小維度 |
數(shù)據(jù)類型轉(zhuǎn)換
拷貝
最小維度
subok
NumPy 數(shù)據(jù)類型
名稱 | 描述 |
bool_ | 布爾型數(shù)據(jù)類型(True 或者 False) |
int_ | 默認(rèn)的整數(shù)類型(類似于 C 語(yǔ)言中的 long,int32 或 int64) |
intc | 與 C 的 int 類型一樣,一般是 int32 或 int 64 |
intp | 用于索引的整數(shù)類型(類似于 C 的 ssize_t,一般情況下仍然是 int32 或 int64) |
int8 | 字節(jié)(-128 to 127) |
int16 | 整數(shù)(-32768 to 32767) |
int32 | 整數(shù)(-2147483648 to 2147483647) |
int64 | 整數(shù)(-9223372036854775808 to 9223372036854775807) |
uint8 | 無(wú)符號(hào)整數(shù)(0 to 255) |
uint16 | 無(wú)符號(hào)整數(shù)(0 to 65535) |
uint32 | 無(wú)符號(hào)整數(shù)(0 to 4294967295) |
uint64 | 無(wú)符號(hào)整數(shù)(0 to 18446744073709551615) |
float_ | float64 類型的簡(jiǎn)寫 |
float16 | 半精度浮點(diǎn)數(shù),包括:1 個(gè)符號(hào)位,5 個(gè)指數(shù)位,10 個(gè)尾數(shù)位 |
float32 | 單精度浮點(diǎn)數(shù),包括:1 個(gè)符號(hào)位,8 個(gè)指數(shù)位,23 個(gè)尾數(shù)位 |
float64 | 雙精度浮點(diǎn)數(shù),包括:1 個(gè)符號(hào)位,11 個(gè)指數(shù)位,52 個(gè)尾數(shù)位 |
complex_ | complex128 類型的簡(jiǎn)寫,即 128 位復(fù)數(shù) |
complex64 | 復(fù)數(shù),表示雙 32 位浮點(diǎn)數(shù)(實(shí)數(shù)部分和虛數(shù)部分) |
complex128 | 復(fù)數(shù),表示雙 64 位浮點(diǎn)數(shù)(實(shí)數(shù)部分和虛數(shù)部分) |
數(shù)據(jù)類型對(duì)象 (dtype)
數(shù)據(jù)類型對(duì)象(numpy.dtype 類的實(shí)例)用來(lái)描述與數(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è)定 < 或 > 來(lái)決定的。 < 意味著小端法(最小值存儲(chǔ)在最小的地址,即低位組放在最前面)。> 意味著大端法(最重要的字節(jié)存儲(chǔ)在最小的地址,即高位組放在最前面)。
dtype 對(duì)象是使用以下語(yǔ)法構(gòu)造的:
每個(gè)內(nèi)建類型都有一個(gè)唯一定義它的字符代碼
字符 | 對(duì)應(yīng)類型 |
b | 布爾型 |
i | (有符號(hào)) 整型 |
u | 無(wú)符號(hào)整型 integer |
f | 浮點(diǎn)型 |
c | 復(fù)數(shù)浮點(diǎn)型 |
m | timedelta(時(shí)間間隔) |
M | datetime(日期時(shí)間) |
O | (Python) 對(duì)象 |
S, a | (byte-)字符串 |
U | Unicode |
V | 原始數(shù)據(jù) (void) |