2011-07-05 7 views
1

3 점, 3 차원 점을이 함수에 매트릭스로 입력해야합니다. 그래서 나는이 같은 튜플했다 :파이썬에서 점의 배열 구성하기

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

을하지만, 나는 다음과 같은 오류 있어요 : 내가 목록을 사용하면 같은 일이 일어

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

합니다. 어떤 아이디어? '모양'이란 무엇입니까? 다른 종류의 배열이 필요한가요? 어떻게해야합니까? 감사

편집

- 내가 사용하는 기능이 MINIT = '매트릭스'

+2

목록의 튜플을 전달할 함수를 지정할 수 있습니까? 원래대로 initPoints를 선언하는 데는 아무런 문제가 없습니다. – shelhamer

+0

함수처럼 소리는 일반 튜플이 아니라'shape' 속성을 가진 객체를 기대합니다. – Santa

+4

'numpy'를 사용하는 것처럼 들립니다. 그게 맞습니까? 그렇다면 numpy의 데이터 유형은 python의 내장 유형과 완전히 다르다는 것을 알아야합니다. 질문을 편집하여 수행하려는 작업에 대한 자세한 정보를 제공하십시오. – senderle

답변

3

scipy.cluster.vq.kmeans2의 문서는 minit='matrix'을 전달할 때 knumpy.ndarray이어야합니다. 이렇게 :

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

아마도 함수가 NumPy와 배열 또는 매트릭스 대신 목록의 튜플을 기대와 scipy.cluster.vq.kmeans2입니까?

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) 

우리는 (자세한 정보가 필요 것 같은 당신이이 전달된다) 알고 있는지 확인하십시오.