2017-05-04 9 views
0

を作成してnumpy arraysと記入したいと思います。例えば:さまざまな形状のnumpy配列を作成する

a = [] (simple array or numpy array) 
b = np.array([[5,3],[7,9],[3,8],[2,1]]) 
a = np.concatenate([a,b]) 
c = np.array([[1,2],[2,9],[3,0]]) 
a = np.concatenate([a,c]) 

私は同時にはなく、繰り返しの2つのファイルから読み込むことができませんので、私はいくつかの特徴を抽出し、そこからwavファイルを持っているので、そうしたいと思います。 2番目のディメンションを固定して空のndarrayを作成するにはどうすればいいですか? a.shape = (x,2)、または "storage"配列を作成しなくても、どのように配列を連結できますか?

+0

'a = np.empty((0、2))'。 – Psidom

+1

'concatenate'をインクリメンタルに呼び出そうとするのは本当に遅いです。連結する配列のリストを作成し、それらを一度に '連結する '方が良いでしょう。 – user2357112

+0

@Psidomありがとうございます。 – stefos

答えて

1

は実際に2つのオプションがあります。 最初の文字は: a = np.empty((0、2))で、最初の次元が変化する空のnp配列が作成されます。 2番目の方法は、空の配列 a = []を作成し、np配列を配列に追加してから、np.vstackを使用してそれらをすべて末尾に連結します。後者は最も効率的なオプションです。

0

あなたはCONCATENATE関数でブラケットを持っていなければなりません:

b = np.array([[5,3],[7,9],[3,8],[2,1]]) 
c = np.array([[1,2],[2,9],[3,0]]) 
a = np.concatenate([b,c]) 

出力:

[[5 3] 
[7 9] 
[3 8] 
[2 1] 
[1 2] 
[2 9] 
[3 0]] 
関連する問題