2016-10-25 3 views
1

マトリックス状にnumpyの配列にリストを並べ替え:は、私がリストだ

import numpy 

rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]]) 
k = 2 
j = 0 
h = 0 
ars = [] 
element = list(rs) 
ck_dist_m = numpy.array([[]], ndmin = 2) 

while j <= k - 1: 
    while h <= k - 1: 
     rp = numpy.array(element[j][h][3], ndmin = 2) 
     ars.append(rp) 
     h = h + 1 
    else: 
     h = 0 
     ck_dist_m = numpy.vstack(ars) 
    j = j + 1 
print ck_dist_m 

rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]]) 

を、私はマトリクス状にnumpyの配列にそれをアレンジしたい、このように私は、次のコードを書きました私は結果になりたい:

[[0, 1], 
[1, 0]] 

しかし、上記のスクリプトはこれを与えた:

[[0] 
[1] 
[1] 
[0]] 

マトリックスフォームで結果を得るためにスクリプトを編集するにはどうすればよいですか?

+2

あなたはどのように 'リスト([[(0、167、159、0)、(1、168、160、1説明してもらえ)]、[(0,167,159,1)、(1,168,160,0)]) 'は[[0,1]、[1、0]]'に関連していますか? – NPE

+0

whileループでは、サブリストの3番目の要素を抽出し、行列形式で格納しようとします。 – Heinz

答えて

4

whileループでは、サブリストの3番目の要素を抽出し、行列形式で格納しようとします。

ここでは、これを達成するためにはるかに直接的な方法である:

>>> numpy.array(rs)[:,:,3] 
array([[0, 1], 
     [1, 0]]) 
+0

これはもっと指示的な方法です! – Heinz

関連する問題