2017-02-10 13 views
0

私は操作したいグラフのノードに関する4つの主な情報を持つ行列を作成しましたが、それらを配列の配列として保存しようとしています。 と連想配列では、この私の情報私はnumpyのと同じ行列を作成するにはどうすればよい配列からのnumpy行列 - python

nodes = [[0 for x in range(4)] for y in range(n)] 
for i in range(nodeNumber+1): 
    nodes[i] = info1[i], info2[i] , info[3] , i 

と行列である特定の情報

に反復するよう命じ?

私は私の「ノード」から行列を作成しようとしましたが、私はタプルの配列ではなく行列をしたようにnumpyのは1

答えて

0
In [114]: n=3 
In [115]: nodes = [[0 for x in range(4)] for y in range(n)] 
In [116]: nodes 
Out[116]: [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] 

として、それを見ていないので、あなたが持っているとして、それは、です今、あなたはタプル(1,2,3,1)nodesリストの各要素を交換したリスト

In [117]: for i in range(3): 
    ...:  nodes[i] = 1,2,3,i 
    ...:  
In [118]: nodes 
Out[118]: [(1, 2, 3, 0), (1, 2, 3, 1), (1, 2, 3, 2)] 

を含むリストを作成しました。これは完全な交換品です。サブリストはnodesに変更されていません。だからnodesはタプルのリストです。

In [119]: np.array(nodes) 
Out[119]: 
array([[1, 2, 3, 0], 
     [1, 2, 3, 1], 
     [1, 2, 3, 2]]) 

np.arrayを介して関係なく、それはリストまたはタプルのリストのリストであるかどうかの2次元配列を作成することを渡します。

サブリストまたはタプルの長さが異なる場合、dtypeオブジェクトの1次元配列が得られます。

array of arraysassociative arrayの意味を具体的に説明する必要があります。

関連する問題