1.數(shù)組重塑
1.1一維數(shù)組轉(zhuǎn)變成二維數(shù)組
通過reshape( )函數(shù)即可實(shí)現(xiàn),假設(shè)data是numpy.array類型的一維數(shù)組array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]),現(xiàn)將其轉(zhuǎn)變?yōu)?行5列的二維數(shù)組,代碼如下:
data.reshape((2,5))
作為參數(shù)的形狀的其中一維可以是-1,它表示該維度的大小由數(shù)據(jù)本身推斷而來,因此上面代碼等價于:
data.reshape((2,-1))
1.2二維數(shù)組轉(zhuǎn)換成一維數(shù)組
將多維數(shù)組轉(zhuǎn)換成一維數(shù)組的運(yùn)算通常稱為扁平化(flattening)或散開(raveling),因此有兩個函數(shù)可供選擇。執(zhí)行代碼如下:
data.ravel() # 不會產(chǎn)生源數(shù)據(jù)的副本data.flatten() # 總是返回數(shù)據(jù)的副本
關(guān)于這兩點(diǎn)的區(qū)別,理解的不是很透徹。有人懂得話,歡迎評論交流。
2.數(shù)組的合并和拆分
2.1數(shù)組的合并
numpy提供許多數(shù)組合并的方法,這里只介紹最為常用的一種,即concatenate方法,代碼如下:
arr1 = np.array([[1,2,3], [4,5,6]])arr2 = np.array([[7,8,9], [10,11,12]])data = np.concatenate([arr1, arr2], axis=0) # axis參數(shù)指明合并的軸向,0表示按行,1表示按列
2.2數(shù)組的拆分
這里只介紹split函數(shù)
np.split(data, [1], axis=0)#data為拆分的數(shù)組,[1]為拆分的行號或列號,axis表明按列或者行進(jìn)行拆分(默認(rèn)為0,即按行拆分)
以上這篇詳談Numpy中數(shù)組重塑、合并與拆分方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點(diǎn)
疑難解答
圖片精選