Numpy 基礎數組
注:如下代碼中np爲numpy庫的簡寫函數
1、建立arrayspa
# create array with datetype int16 a = np.array([[1,2,3],[2,4,6]], dtype=np.int16) # all zeros array b=np.zeros((2,2),dtype=int) #all ones array c=np.ones((3,4), dtype=np.int) #numpy range1~10之間,公差爲1的等差數列 d=np.arange(1,10,1) #生成[0,4)之間步長爲1的等差數列 e=np.arange(0,4, 2) #linespace 生成1~10之間只有2個數的等差數列 f=np.linspace(1,10,2,dtype=np.int) #輸出結果 print('數組 a:', a) print('全0數組b:', b) print('全1數組c:', c) print('[1,10) 步長爲1的等差數列 d:', d) print('[0,4)步長爲2的等差數列 e:', e) print('[1,10) 等分爲5份的數列 f', f)
終端結果code
2、運算blog
#四則運算 a=np.array([2,4,6]) b=np.arange(1,4) c=a+b d=a-b e=a*b f=a/b print('a:', a) print('b:', b) print('加法 c:', c) print('減法 d:', d) print('乘法 e:', e) print('除法 f:', f) #<, >, ==邏輯運算 g=a>2 h=a<6 j=a==4 print('大於 g:', g) print('小於 h:', h) print('等於 j:', j) #指數運算、三角函數 k=a**2 l=np.sin(a) print('平方 k:', k) print('正弦 l:', l) #矩陣乘法 m=np.transpose(np.array([1,1,1]))#矩陣轉置 n=np.dot(a,m)#矩陣乘法 print('矩陣乘法 n:', n)
輸出結果:索引
3、統計運算it
#求和,最小值,最大值 a=np.arange(12).reshape((3,4)) print('a:', a) print('全部元素之和:', np.sum(a))#行向求和 print('每行元素之和:', np.sum(a, axis=1))#行向求和 print('最小值:', np.min(a))#求最小值 print('每行最小值:', np.min(a, axis=1))#行向求最小值 print('最大值:', np.max(a))#求最大值 print('每行最大值:', np.max(a, axis=1))#行向求最大值 print('最小值索引', np.argmin(a)) print('最大值索引', np.argmax(a)) #平均值、中位數 print('平均值', np.mean(a)) print('每一行的平均值', np.mean(a, axis=1)) print('中位數', np.median(a)) print('每一列的中位數', np.median(a, axis=0)) #非0元素的索引 print('大於6的元素: ', a>6) mask=np.nonzero(a>6) print('非0元素所在的行: ', mask[0]) print('非0元素所在的列: ', mask[1])
終端輸出:class
4、array取值基礎
# array 取值 a=np.arange(2,14).reshape((3,4)) print('a: ', a) print('取索引爲1的行:', a[1, :]) print('取第1行,列數範圍爲[0,2)的值:', a[1,0:2]) print('取索引爲2的列:', a[:,2]) print('取索引爲[1,2]的元素:', a[1,2]) print('矩陣flatten:', a.flatten())
4、array合併date
#array合併 a=np.ones((1, 3)) b=np.zeros((1,3)) print('a: ', a,'shape :', a.shape) print('b: ', b) print('a,b列向合併:', np.vstack((a,b))) print('a,b行向合併:', np.hstack((a,b))) print('a,a,b,b 列向合併:', np.concatenate((a,a,b,b), axis=0)) #矩陣拓維 c=np.arange(3) print('c', c, '原來的shape :', c.shape) print(c[:,np.newaxis], 'shape: ', c[:,np.newaxis].shape)
5、array分割
#array分割 a=np.arange(12).reshape((3,4)) print('a: ', a) print('將a按列等分爲兩部分', np.split(a,2,axis=1)) print('將a按列分爲三部分', np.array_split(a,3,axis=1)) print('將a按行等分爲三部分', np.split(a,3,axis=0))