1. 程式人生 > 程式設計 >numpy庫ndarray多維陣列的維度變換方法(reshape、resize、swapaxes、flatten)

numpy庫ndarray多維陣列的維度變換方法(reshape、resize、swapaxes、flatten)

numpy庫對多維陣列有非常靈巧的處理方式,主要的處理方法有:

.reshape(shape) : 不改變陣列元素,返回一個shape形狀的陣列,原陣列不變

.resize(shape) : 與.reshape()功能一致,但修改原陣列

In [22]: a = np.arange(20)
#原陣列不變
In [23]: a.reshape([4,5])
Out[23]:
array([[ 0,1,2,3,4],[ 5,6,7,8,9],[10,11,12,13,14],[15,16,17,18,19]])

In [24]: a
Out[24]:
array([ 0,4,5,9,10,14,15,19])

#修改原陣列
In [25]: a.resize([4,5])

In [26]: a
Out[26]:
array([[ 0,19]])

.swapaxes(ax1,ax2) : 將陣列n個維度中兩個維度進行調換,不改變原陣列

In [27]: a.swapaxes(1,0)
Out[27]:
array([[ 0,15],[ 1,16],[ 2,17],[ 3,18],[ 4,19]])

.flatten() : 對陣列進行降維,返回摺疊後的一維陣列,原陣列不變

In [29]: a.flatten()
Out[29]:
array([ 0,19])

到此這篇關於numpy庫ndarray多維陣列的維度變換方法(reshape、resize、swapaxes、flatten)的文章就介紹到這了,更多相關numpy ndarray多維陣列維度變換內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!