Numpy操作:
- 數組的算術和邏輯運算
- 傅里葉變換和圖形操作
- 與線性代數有關的操作,numpy擁有線性代數和隨機數生成的內置函數。
為了提高運算效率,ndarry數組值的類型默認相同,創建時自動指定默認數據類型(內存占用大的)。
numpy方法
| np.dtype |
當前numpy數據的整體數據類型 |
| np.itemsize | np對象中每個元素的占用空間大小,單位字節 |
| np.size | 對象元素的總個數,np.shape=(3,5)則為15個 |
| np.shape | np的各個維度的大小,如(3,5) |
| np.ndim | np的總維度,如2維 |
| np.isnan(list) | 篩選出nan值 |
| np.mat | 將python列表轉換為ndarry對象 |
| np.I | 矩陣求逆 |
| np.T | 矩陣轉秩 |
| np.multiply(x,y) | 矩陣x,y相乘 |
| np.arange | 同range |
| np.aragne(24).reshape((3,4) | |
| np.linspace(x,y,z) | 等間距生成,x起始,y終止,z為步長 |
| np.full([x,y],z) | 生成x行y列都是z的數組 |
| np.random.rand(x,y,z) | 表示隨機數的shape為x,y,z...,參數也可以為空,表示只生成一個隨機數 |
| np.random.randn(x,y) | 生成正態分布隨機數 |
| np.random.randint(low,high,(shape)) | 整數隨機數 |
| np.random.seed(s) | 給一個隨機數字固定 |
| np.random.shuttle(a) | 從數組a的最外軸進行隨機洗牌 |
| np.random.choice(a,size=None, replace=False,p=數組a/np.sum(b)) |
從一維數組a中以概率p抽取元素,形成size形狀新數組,replace表示是否可以重用元素,默認為False,p為抽取概率,本位置越高,抽取概率越高 |
| np.sum(axis=None) | 求和,axis=0表示為列求和,axis為1表示行求和 |
| np.argsort() | 返回經過排序以后的矩陣每個元素原始坐標位置 |
| np.sort() | 從小到大排序 |
| -np.sort() | 從大到小排序 |
| np.mean(axis=None) | 求均值 |
| np.average() | 加權平均,weights加權值,不設為等權重,例子[10, 5, 1],每列分別X10,X5,X1在/(10+5+1) |
| np.var() | 方差,各數與平均數之差的平方的平均數 |
| np.std() | 標准差 |
| np.min() | 最小值 |
| np.max() |
最大值 |
| np.argmin() | 求數組中最小值的坐標 |
| np.median() | 中位數 |
| np.cusum() | 累加 |
| np.cumprod() | 累乘 |
| np.count_nonzero(arr>0) | 計算數組中非零值個數 |
numpy中提取數據的話可以用[1][0][0]或者[1,0,0]都可以。
Numpy一元函數
運算時足以原數組是否被改變,幾乎所有的一元函數都是生成新數組。
abs(),fabs(),sqrt(),square(),log(),log10(),ceil(),floor(),modf(),exp(),sign()
Numpy數組操作
| np.transpose() | 翻轉給定數組的維度 |
| np.T | 類似於transpose |
| np.concatenate() | 沿着指定軸向鏈接相同形狀的兩個或多個數組 |
| np.stack() | 沿着某個軸軸連接數組 |
| np.split() | 沿特定的軸將數組分割為子數組 |
| np.dot | 兩個數組的點積 |
| np.vdot | 兩個向量的點積 |
| np.inner | 兩個數組的內積 |
| np.matmul | 兩個數組的矩陣積 |
| np.solve np.inv np.derteminant |
求解線性矩陣方程 尋找矩陣乘法逆矩陣 數組的行列式 |
