import numpy as np
numpy的數據結構 Ndarray
一、創建
1、從list創建
list = [1,2,3]
a = np.array(list)
2、特定數組
np.ones((2,3))
np.random.randn((2,3))
np.arange(10) # [0,1,2....9]
3、對角矩陣
a = np.diag([1,2,3]) # 對角線是1,2,3
np.diag(a) # 取出對角線上的元素,爲list
二、屬性
1、維度
np.ones((4,2,4)).ndim # 3
2、形狀
np.ones((4,2,4)).shape # (4,2,4)
3、元素個數統計
np.ones((4,2,4)).size # 32
4、元素類型
np.ones((4,2,4)).dtype # float63
三、索引
b = np.arange(10) # [0,1,2....9]
b[4] # 4
四、切片
b[[3,5,7]] # 取下標爲3,5,7的元素
b[:4] # 前4個元素
b[4:] # 從第5個元素到最後的元素
b[b>5] # 選出大於5的元素
五、運算
1、加/減法
np.add(a,b)
np.subtract(a,b)
2、乘/除法
np.multiply(a,b)
np.divide(a,b)
3、次方、開根號、指數、求和
np.power(a,2)
np.sqrt(a)
exp
np.sum(a) # 所有元素求和
np.sum(a,axis=1) # 每一行單獨求和
4、點乘(矩陣乘法)
a.dot(b)
5、最大/小值
a.max()
六、廣播
兩個數組維度不同,可以通過廣播的方式,實現形狀不同的數組操作,較小的數組會廣播到較大數組,可以提升運算效率
如果a是4行3列,b是1行3列
a+b = a的每一行都+b
a+1 = a的每個元素+1