2017-04-10 6 views
0

今、nparrayのリストをリストに変換する方法を数時間探しました。私が使う機能の 出力は次のようになります。Pythonリストするnparrayのリスト

[array([[[ 65, 172]], [[ 64, 173]], ... , [[ 65, 173]]]), 
array([[[ 70, 144]], [[ 70, 145]], ... , [[ 71, 144]]]), 
array([[[ 71, 132]] ,[[2, 1]]])] 

私は、リストの最初の項目を選択すると、[0]、私が手:

[[[ 65 172]] [[64 173]] ... [[65 173]]] 

それでは、私が今欲しいのはそのような何かを得ることですここで、全ての要素が1つのリストにあるが、昏睡またはセミコロンで区切られていない:

[[[ 65 172]] [[64 173]] ... [[ 71 132]] [[2 1]]] 

は、私が取得したい出力リストにnparrayの私のリストに変換することができますのpythonで何かがあり、またはリストの各項目を1つに連結/結合することができますか?

ご協力いただきありがとうございます。

+0

すべてのあなたの配列の形状を印刷することができます:予想される出力形状がxは、すべての最初の次元形状の和である

(x, 1, 2) 

すべきですか? 'print [x.shデータのxの形]'。そして、あなたはあなたの出力形状をしたいものを精緻化することができますか? –

+0

@NilsWerner私はPythonを初めて使うデータ型を区別する方法がわかりません。 (9,1,2)、(1,1,2)、(14,1,2)、(12,1,2)、(760,1,2)、 )、(632、1、2)]私が得た出力に形を使うとき。 リストを一緒に追加できますが、[[[65、172]]、[[64,173]]、...、[[65,174]]、[[65,173]]、 ]]。私が欲しいのは、昏睡のない同じ出力です。 また、私が使用したい機能でdata [0]を使用する場合、私はあなたに "ちょっとした配列でもスカラーでもない"というメッセージを表示します。 –

+0

@NilsWernerここで、あなたが(私はアイテムデータ[0]から取った)出力の形をしています:[(1,2)、(1,2)、...、(1,2)] –

答えて

0

コンマは無視してください。それらは単にテキスト出力ですが、データの一部ではありません。代わりに、あなたの配列の形状について考え始めてください。あなたの答えに従って以前のあなたは、図形

[(19, 1, 2), (9, 1, 2), (1, 1, 2), (14, 1, 2), (12, 1, 2), (760, 1, 2), (632, 1, 2)] 

各ディメンション12を保つ一つの大きな配列を作成し、単にあなたが単にnumpy.concatenateを使用することができます0その軸に沿って、あなたの配列を添付することをアレイのリストを持っています。

import numpy 

# Random data, shapes taken from your answer earlier 
data = [numpy.random.rand(19, 1, 2), numpy.random.rand(9, 1, 2), numpy.random.rand(1, 1, 2), numpy.random.rand(14, 1, 2), numpy.random.rand(12, 1, 2), numpy.random.rand(760, 1, 2), numpy.random.rand(632, 1, 2)] 

# Concatenate along axis 0. All other dimension must be equal in shape! 
out = numpy.concatenate(data, axis=0) 

print out.shape # (1447, 1, 2) 
+0

あなたの応答をありがとうございます、それはうまく動作します!私は最初の指示をしていなかったので、連結は機能しませんでした。 –

関連する問題