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