2011-07-05 9 views
1

3点、3点を行列としてこの関数に入力する必要があります。私はこのようなタプル製:Pythonで点の配列を整理する

initPoints = ([10,20,30],[5,15,25],[100,150,200]) 

を私は次のエラーを得た:私は、リストを使用する場合

AttributeError: 'tuple' object has no attribute 'shape' 

同じことが起こりました。何か案は? 「形状」とは何ですか?他の種類の配列が必要ですか?どうやってやるの? おかげ

編集 - 私が使用している機能がMINIT =「マトリックス」でscipy.cluster.vq.kmeans2さ

+2

リストのタプルを渡す関数を指定できますか?あなた自身と同じようにinitPointsを宣言することには何も問題はありません。 – shelhamer

+0

関数のようなサウンドは、単純なタプルだけでなく、 'shape'属性を持つオブジェクトを期待しています。 – Santa

+4

あなたは 'numpy'を使っているようです。そうですか?もしそうなら、numpyのデータ型はpythonの組み込み型と完全に異なっていることに注意してください。質問を編集して、何をしようとしているかについての詳細をお知らせください。 – senderle

答えて

3

scipy.cluster.vq.kmeans2のドキュメントには、を渡したときにknumpy.ndarrayになるはずです。これを行う:

initPoints = numpy.array([[10,20,30],[5,15,25],[100,150,200]]) 
4

はおそらく、機能ではなく、リストのタプルのnumpyの配列や行列を期待していますか?

http://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html http://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.html

>>> import numpy 
>>> a = numpy.array(((1,2,3),(4,5,6))) 
>>> a.shape 
(2, 3) 

私たちはあなたにこれを渡しているかのように(より多くの情報が必要と思います)確かに知っている。

関連する問題