1. np.r_ 和 np.c_
- np.r_按 row 來組合array
- np.c_按 colunm 來組合array
例子:
a = np.array([1,2,3])
b = np.array([5,2,5])
print (np.c_[a, b])
print (np.r_[a, b])
print (np.c_[a, [0,0,0],b])
print (np.r_[a, [0,0,0],b])
輸出結果為:
[[1 5]
[2 2]
[3 5]]
[1 2 3 5 2 5]
[[1 0 5]
[2 0 2]
[3 0 5]]
[1 2 3 0 0 0 5 2 5]
2. linspace 和 arange
- np.linspace( start, end, num )
- 將 start 和 end 之間的距離平均分為 num 個
- np.arange( start, end, step )
- 將 start 按步長 step 向 end 靠近
t = np.linspace (3, 11, 9)
print (t)
a = np.arange(3, 11, 1)
print (a)
輸出結果為
[ 3. 4. 5. 6. 7. 8. 9. 10. 11.]
[ 3 4 5 6 7 8 9 10]
3. squeeze
- squeeze函數對二維矩陣沒有影響,包括行向量,列向量和標量
4. ravel
- numpy.ravel (a, order='C')
- 默認 order 是‘C’, 以二維矩陣為例
- order 'C' 指最右邊的索引變化最快,先按行讀取
- order 'F' 指最左邊的索引變化最快,先按列讀取
- 默認 order 是‘C’, 以二維矩陣為例
- 等同于 reshape(-1, order)
- 最終結果是秩為 1 的矩陣
X = np.arange(1,7,1).reshape(2,3)
print (X)
print (np.ravel(X, order = 'C'))
print (np.ravel(X, order = 'F'))
print (np.ravel(X).shape)
輸出結果:
[[1 2 3]
[4 5 6]]
[1 2 3 4 5 6]
[1 4 2 5 3 6]
(6,)