在Python中整理点的数组
我需要把3个三维点作为一个矩阵输入到这个函数里,所以我创建了一个这样的元组:
initPoints = ([10,20,30],[5,15,25],[100,150,200])
但是我遇到了以下错误:
AttributeError: 'tuple' object has no attribute 'shape'
当我使用列表的时候也出现了同样的问题。有没有什么想法?什么是'形状'?我需要其他类型的数组吗?我该怎么做呢?谢谢!
补充一下 - 我使用的函数是 scipy.cluster.vq.kmeans2,参数 minit='matrix'
2 个回答
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)
我们需要更多的信息(比如你把这个传给了什么)才能确定。
3
根据scipy.cluster.vq.kmeans2
的文档,当你使用参数minit='matrix'
时,k
应该是一个numpy.ndarray
类型的数组。所以你需要这样做:
initPoints = numpy.array([[10,20,30],[5,15,25],[100,150,200]])