2016-08-31 11 views
0

numpy配列に列ベクトルとしてロードしようとしている.csvファイルがあります。numpy配列に.csvファイルを列ベクトルとしてロード

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

、私はこのような何か希望のに対し:

[array([[0], 
     [0], 
     [0], 
     ... 
     [0], 
     [1], 
     [0], 
     ... 
     [0], 
     [0]]), array([[0], 
     [0], 
     [0], 
     ... 
     [0], 
     [1], 
     [0], 
     ...)] 

を私がすることができるよ

temp = np.genfromtxt(location, delimiter=',') 

を使用する場合、データは次のようにエントリが表現されているnumpy arrayですこれを使用してこれを達成する

my_data = [] 

for i in range(len(temp)): 
    foo = np.array([temp[i]]).T 
    my_data.append(foo) 

しかし、必要な結果を達成するより効率的な方法があるのだろうかと思っています。

+1

特に、リスト内の項目を配列にしたいですか? 'temp [:,:、None] .tolist()' –

+0

配列をリストに入れたいのですか、それともタイプミスですか? – MahatmaCane

+0

リスト内の項目は配列だったので、メインコードを変更する必要はありません。 – Lukasz

答えて

1

NPアレイtempに新しい軸を追加し、キャストのサブリスト:上記の結果にlistに電話するか、リストの内包表記を使用して、Pythonの3のために

temp = np.genfromtxt(location, delimiter=',') 
my_data = map(np.array, temp[:, :, np.newaxis]) 

my_data = [np.array(arr) for arr in temp[:, :, np.newaxis]] 
+0

'list(temp [...、None])'は同じことをします。 – hpaulj

関連する問題