2016-08-23 29 views
-1

私は、numpy配列をpythonの別の配列に追加し続けたいと思います。2次元numpy配列を3次元配列に配置

arraytotal = np.array([]) 
array1 = np.array([1,1,1,1,1]) 
array2 = np.array([2,2,2,2,2]) 

と私はarraytotalに配列1と配列2を追加したい: のは、私は次の配列を持っているとしましょう。しかし、ときに私が使用します。

arraytotal.append[array1] 

それは私に語った:

'numpy.ndarray' オブジェクトは、私がarraytotalに配列1と配列2を付加することができますどのように

'を追加' は属性を持っていません?

+0

を交換する必要があり(高価である元素を添加するようにより速いリストの代わりに古典的なC配列に変換する)。配列(例えばリスト)を収集し、np.vstack/np.hstackを使用します(希望の形状に応じて)。私はまたあなたが記述する複数の2次元 - > 3次元のものを取得していない。あなたの例は複数の1d - > 2dのように見えます。より簡単なアプローチ:リストのリストを作成し、最終データを配列に変換する。 – sascha

+2

この構文はひどく間違っていて、あなたが意図した意味は不明です。また、寸法を正しく数えていないようです。 – user2357112

+0

ありがとうございます。 2Dファイルがどのように描かれたかを含めるつもりがなければ、2Dから3Dに移行しているとは言わないでください。基本的にlistxとlistyの各アイテムはピクセルの座標を与え、返される値はその値を中心とする特定のフレーム内の各ピクセルのrgb値に基づいています。 – Vofun

答えて

-1

あなたは、通常のPythonリストにアレイを追加した後、端部でnumpyの配列にリストを変換する必要があり:ループは、2Dアレイをなす

import numpy as np 
total = [] 
for i in range(5,15): 
    thisArray = np.arange(i) 
    total.append(thisArray) 
total = np.asarray(total) 

。より高い次元の配列を生成するためにループをネストします。

0

残念ながら、まったく同じように配列を操作する方法はありません。代わりに、同じ名前のリストを作成し、2つの配列を付加し、これ等numpyの配列に変更:いくつかの他の配列に配列を追加

arraytotal[] 
array1 = np.array([1,1,1,1,1]) 
arraytotal.append[array1] 
np.array(arraytotal)