2017-09-14 10 views
1

かなり自明です。 Pillowのgetcolors()メソッドは、それぞれが(1,3)の形状(すなわち(count, (r, g, b)))のタプルのリストを返します。これを処理するより良い方法がない限り、[n, [1, 3]]シェイプのnumpy配列を作成するにはどうすればよいですか?枕のgetcolorsの寸法を持つnumpy配列

+0

これは... '(1,3)'の形が意味するものではなく、 '[n、[1,3]]形は物ではありません。構造化配列を使用できるかもしれませんが、ネストされたタプルをフラット化することをお勧めします。 – user2357112

+0

私はflatten関数hahaのおかげで完全に忘れました – AlBeast

答えて

0

n x 4次元numpyの配列を使用する必要があります。最初の軸では、getcolorsメソッドの異なる結果の中から選択することができます。 2番目の軸にはデータが含まれます。最初のエントリにはcountの値を格納し、次にr,gおよびbの値を格納できます。それは4次元であるので、保存したいデータは、4つの異なる整数を含む:

result = np.empty(number, 4) 
#get one entry 
count, r, g, b = result[n] 

あなたは常に、あなたがacutallyやろうとしているか心に留めておく必要があります。そして、あなたはこのような何かを行うことができます。そして、あなたはこのタイプの異なるデータポイントnを期待しています。そのため、配列の形状はn x 4でなければなりません。

PS:シェイプのディメンションの奇妙な定義を使用します。これはあなたに多くの問題を引き起こします。私は、形状のデフォルト定義を使用し、それらを多次元配列の軸として考えることをお勧めします。

+0

ありがとう、私はタプルを平坦化しようとするとしよう!そして、ええ、numpyの空のメソッドを使いこなした後、私は完全に形状の形式を理解していないことに気付きました – AlBeast

関連する問題