python將三維陣列展開成二維陣列的實現

2022-09-28 03:03:12 字數 1139 閱讀 2493

以前寫過一篇:python實現把兩個二維array疊加成三維array示例

這篇文章嘗試用「曲線救國」的方法來解決二維陣列疊加成三維陣列的問題。

但天道有輪迴,蒼天繞過誰。好不容易把陣列疊加在一塊兒了,新的需求又出現了:將三維陣列展開成二維陣列。有借有還,再借不難。今天就來解決把三維陣列展開成二維陣列的問題。

相對於疊加三維陣列,numpy對展開陣列支援得很好,只需要用好np.reshape(a,(a,b)) 函式即可。

用到的引數:

a:需要被重新組合的陣列

(a,b): 各個維度的長度。比如要想展開成二維陣列,那麼(a,b)就是展開成a行b列。

當然,如果某乙個維度長度不確定,也可以用-1代替。

看下面這個例子:

a = np.reshape(np.arange(24),(4,3,2)) ##生成乙個數值從0到23,維度為(4,3,2)的陣列

print(a)

print('程式設計客棧a的維度:',a.shape)

b = np.reshape(a,(-1,2))

print(b)

print('b的維度:',b.shape)

結果:a:

[[[ 0 1]

[ 2 3]

[ 4 5]]

[[ 6 7]

[ 8 9]

[10 11]]

[[12 13]

[14 15]

[16 17]]

[[18 19]

[20 21]

[22 23]]]

a的維度:(4,3,2)

b: [[ 0, 1],

[ 2程式設計客棧, rweageqpki3],

[ 4, 5],

[ 6, 7],

[ 8, 9],

[10, 11],

[12, 13],

[14, 15],

[16, 17],

[18, 19],

[20, 21],

[22, 23]]

b的維度:(12, 2)

可以看到,原來的(4,3,2)維的陣列被展開成了(12,2)維的陣列,而且最後一維的相對位置不變。

本文標題: python將三維陣列展開成二維陣列的實現

本文位址:

js將樹形資料展開成陣列

今天因為開發需求,需要獲取樹形資料某一層的所有節點,在網上並未找到相似案例。所以自己寫了乙個,寫法拙劣,也是第一次寫部落格。大佬請指點 var tree function treelayers tree,index if temp.child if layerarr now l undefined ...

陣列(Array),二維陣列,三維陣列

陣列 array 相同型別資料的集合就叫做陣列。一 定義陣列的方法 a type 變數名 new type 陣列中元素的個數 例如 int a new int 10 或者 int a new int 10 b type 變數名 new type 例如 int a new int 二 陣列的lengt...

二維數 三維陣列

二維陣列 2017 11 10 對比 1 概念 一維陣列 存貯一組相同型別資料 二維陣列 存貯著多個一維陣列 類推 三維陣列 存貯著多個二維陣列 2 宣告 一維陣列 陣列型別 陣列名 初始值 int arr01 int arr00 new int 5 二維陣列 陣列型別 陣列名 初值 陣列型別為一維...