天天看點

Numpy 使用詳解

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中

繼續閱讀