詳談Numpy中數(shù)組重塑、合并與拆分方法
1.數(shù)組重塑
1.1一維數(shù)組轉(zhuǎn)變成二維數(shù)組
通過reshape( )函數(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ù)組的運算通常稱為扁平化(flattening)或散開(raveling),因此有兩個函數(shù)可供選擇。執(zhí)行代碼如下:
data.ravel() # 不會產(chǎn)生源數(shù)據(jù)的副本 data.flatten() # 總是返回數(shù)據(jù)的副本
關(guā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表明按列或者行進行拆分(默認(rèn)為0,即按行拆分)
以上這篇詳談Numpy中數(shù)組重塑、合并與拆分方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python NumPy中的隨機數(shù)及ufuncs函數(shù)使用示例詳解
這篇文章主要介紹了Python NumPy中的隨機數(shù)及ufuncs函數(shù)使用,ufunc函數(shù)是NumPy中的一種通用函數(shù),它可以對數(shù)組中的每個元素進行操作,而不需要使用循環(huán)語句,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-05-05
python網(wǎng)絡(luò)編程socket實現(xiàn)服務(wù)端、客戶端操作詳解
這篇文章主要介紹了python網(wǎng)絡(luò)編程socket實現(xiàn)服務(wù)端、客戶端操作,結(jié)合實例形式分析了python基于socket實現(xiàn)服務(wù)端、客戶端相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-03-03
Python利用hashlib實現(xiàn)文件MD5碼的批量存儲
這篇文章主要為大家詳細介紹了如何用Python和hashlib實現(xiàn)文件MD5碼的批量存儲功能,文中的示例代碼講解詳細,感興趣的小伙伴可以學(xué)習(xí)一下2023-05-05

