私は基本的にthisを達成しようとしていますが、別の方法で展開する必要があります。私はN-1th
次元のすべてのサンプルを連結したいと思っています。例えば、私のアンフォールディングを(100,100,3)のRGB画像に適用する場合、新しい配列は、基本的には3つのカラーチャンネル画像が新しい配列に並んでいる(100,300)になります。Numpy N次元配列の展開
flatten
とconcatenate
のようなnumpy組み込み関数を使用するためのすべての試みでは結果が得られませんでした。 (flatten
、最終目標は、それが1次元配列になるまで展開これを適用することであるため)寸法の開始番号はarray = array[:,...,:,0]+...+array[:,...,:,0]
(一定でないため、
もループでそれを行うためのスライス方法を考えることはできません)
EDIT
私はちょうど私が欲しいものを達成するためのこの方法を思いついたが、それでも、より良い、より純粋な、numpy
ソリューションを歓迎します。
shape = numpy.random.randint(100, size=numpy.random.randint(100))
array = numpy.random.uniform(size=shape)
array = array.T
for i in range(0, len(shape)-1, -1):
array = numpy.concatenate(array)
なぜ 'rgb_image.reshape(100、300)'はジョブを実行しないのですか? – kennytm
前述のとおり、画像の例は*単なる例です*。私は1DアレイにN次元配列を折りたたんで再帰的に – WobbaFetttttt
を折り畳むためにこの動作が必要です。なぜなら、最後の目標は1D配列になるまでこの展開を適用することです - なぜあなたの配列を1Dに直接 'flatten'しないのですか?単一の 'flatten'または' ravel'コールが必要なだけのものでなければなりません。 – user2357112