Numpy 概述:
- 是基于向量化的運算
- 進行數值運算時Numpy數組比list效率高
- 用于讀寫硬碟上基于數組的資料集的工具
- 線性代數運算、傅裡葉變換,以及随機數生成
- 用于将C、C++、Fortran代碼內建到Python的工具
- 除了為Python提供快速的數組處理能力,NumPy在資料分析方面還有另外一個主要作用,即作為在算法之間傳遞資料的容器。
NumPy的ndarray 建立ndarray
類型 | 功能 |
---|---|
array | 将輸入資料(清單、元組、數組或其它序列類型)轉換為ndarray。要麼推斷出dtype,要麼顯示指定dtype。預設直接複制輸入資料。 |
asarray | 将輸入轉換為darray,如果輸入本身就是一個ndarray就不進行複制。 |
arange | 類似于内置的range,但傳回一個ndarray而不是清單。 |
ones, ones_like | 根據指定形狀和dtype建立一個全1數組。ones_like以另一個數組為參數,并根據其形狀和dtype建立一個全1數組。 |
zeros, zeros_like | 類似于ones和ones_like,隻不過産生的是全0數組而已。 |
empty, empty_like | 建立數組,隻配置設定記憶體空間但不填充任何值。 |
eye, identity | 建立一個正方的N * N機關矩陣 |
NumPy的ndarray NumPy資料類型
類型 | 功能 |
---|---|
int8, uint8 - i1, u1 | 有/無符号的8位整型 |
int16, uint16 - i2, u2 | 有/無符号的16位整型 |
int32, uint32 - i4, u4 | 有/無符号的32位整型 |
int64, uint64 - i8, u8 | 有/無符号的64位整型 |
float16 - f2 | 半精度浮點數 |
float32 - f4 or f | 标準的單精度浮點數,與C的float相容。 |
float64 - f8 or d | 标準的雙精度浮點數。與C的double和Python的float相容。 |
float128 - f16 or g | 擴充精度浮點數 |
complex64/128/256-c8/16/32 | 分别用兩個32位,64位或128位浮點數表示的複數。 |
bool - ? | 存儲True和False值的布爾類型 |
object - O | Python對象類型 |
string_ - S | 固定長度的字元串類型。S10代表長度為10的字元串。 |
unicode_ - U | 固定長度的unicode類型 |
NumPy的ndarray 數組和标量之間的運算
- 不用編寫循環即可對資料執行批量運算
- 大小相等的數組之間的任何算術運算都會将運算應用到元素級
- 數組與标量的算術運算也會将那個标量值傳播到各個元素
tile 用法
b = tile(a,(m,n)):即是把a數組裡面的元素複制n次放進一個數組c中,然後再把數組c複制m次放進一個數組b中