這次分享下numpy中矩陣的合并與分割阳柔,希望能幫助到大家。
在此附上視頻鏈接
一告匠、引入numpy第三方庫(kù)
首先我們引入numpy這個(gè)第三方庫(kù),如果有同學(xué)沒安裝numpy可在命令行中pip install numpy進(jìn)行安裝(Mac用戶 sudo pip3 install numpy)
import numpy as np
二、array的合并
1.垂直合并
A = np.array([1, 1, 1])
B = np.array([2, 2, 2])
print(np.vstack((A, B)))
2.水平合并
print(np.hstack((A, B)))
C = np.array([1, 1, 1])[:, np.newaxis] # 縱向加一個(gè)維度,將array轉(zhuǎn)為3行1列的矩陣
D = np.array([2, 2, 2])[:, np.newaxis]
E = np.concatenate((C, D, D, C), axis=1) # axis=1為水平合并晾匠, axis=0為垂直合并
print(E)
3.array的合并代碼示例
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])
C = np.array([1, 1, 1])[:, np.newaxis] # 縱向加一個(gè)維度,將array轉(zhuǎn)為3行1列的矩陣
D = np.array([2, 2, 2])[:, np.newaxis]
print('打印A與B:')
print(A)
print(B)
print('\n垂直合并:')
print(np.vstack((A, B)))
print('\n水平合并:')
print(np.hstack((A, B)))
print('\n水平合并梯刚,axis=1 為水平合并 反之為垂直合并:')
E = np.concatenate((C,D,D,C),axis=1)
print(E)
運(yùn)行效果如下:三凉馆、矩陣的分割
1.水平分割
A = np.array(12).reshape((3, 4))
print(np.split(A, 2, axis=1)) # 表示對(duì)A進(jìn)行分割,分為兩塊,axis=1為水平分割
print(np.hsplit(A, 2)) # 效果同上
print(np.array_split(A, 3, axis=1)) # 不均等分割
2.垂直分割
print(np.split(A, 3, axis=0)) # 表示對(duì)A進(jìn)行分割句喜,分為3塊预愤,axis=0為垂直分割
print(np.vsplit(A, 3)) # 效果同上
print(np.array_split(A, 2, axis=0)) # 不均等分割
3.矩陣分割代碼示例
import numpy as np
A = np.arange(12).reshape((3,4))
print('打印矩陣A:')
print(A)
print('\n水平分割為兩塊:')
print(np.split(A, 2, axis=1)) # 表示對(duì)A進(jìn)行分割,分為兩塊咳胃,axis=1為水平分割
print('\n垂直分割為3塊:')
print(np.vsplit(A, 3)) # 不均等分割
print('\n垂直不均等分割:')
print(np.array_split(A, 2, axis=0))
運(yùn)行效果如下:好啦植康,以上就是這次對(duì)矩陣的合并與分割的一些方法。
歡迎大家在下方評(píng)論與留言或者給出建議展懈,如有錯(cuò)誤請(qǐng)指出销睁。希望這篇博文能幫助到剛學(xué)習(xí)這個(gè)的同學(xué),也歡迎大家分享給需要的人存崖。
如需轉(zhuǎn)載冻记,請(qǐng)注明出處。