2017-05-10 17 views
-1

に保存されている平ら3D配列の深さcoordinayを与えられたデータを取得します。にはどうすれば行、幅、私は現在、私は1Dリストに平らにしまし3D配列内を移動しようとしているリスト

どのように平らな3Dアレイ内の移動行、幅および深与えますか?

+0

Z *のRSZの*のCSZ + Y *のRSZを行うことができます。そして、あなたのインデックスが0 – Persixty

+0

から始まり... \t zrszcsz + Y *のRSZ + xは何ですか? –

+0

が編集されました。それはCSZ、RSZは何か – Persixty

答えて

0

あなたが3D配列として定義されていると仮定します。あなたは、a_flatから[0,1,2]と同じ要素を取得するには

a_flat = a.flatten() 

:として定義

I = 2 
J = 3 
K = 4 
a = np.arange(I*J*K).reshape(I,J,K) 

array([[[ 0, 1, 2, 3], 
     [ 4, 5, 6, 7], 
     [ 8, 9, 10, 11]], 

     [[12, 13, 14, 15], 
     [16, 17, 18, 19], 
     [20, 21, 22, 23]]]) 

フラット化配列RSZとCSZは、行と列がRESPのサイズである場合に+ X平面zの行yに要素xをアクセスする

a_flat[0*J*K + 1*K + 2] 

#check 
print(a[0,1,2]) 
print(a_flat[0*J*K + 1*K + 2]) 
関連する問題