AttributeError:'元组'对象没有属性'形状'

时间:2016-12-17 11:34:53

标签: python python-2.7 numpy attributeerror

所以我一直在编写一个代码来标准化矩阵的元素,我使用的函数如下:

def preprocess(Data):
    if stdn ==True:
       st=np.empty((Data.shape[0],Data.shape[1]))
       for i in xrange(0,Data.shape[0]):
           st[i,0]=Data[i,0]
       for i in xrange(1,Data.shape[1]):
           st[:,i]=((Data[:,i]-np.min(Data[:,i]))/(np.ptp(Data[:,i])))       
           np.random.shuffle(st)
       return st
    else:
       return Data

它在课外非常好用,但是当它在里面使用时它会给我这个错误:

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

关于如何解决它的任何想法? 附:这是一个KNN分类代码

1 个答案:

答案 0 :(得分:4)

根据您发布的错误,Data的类型为元组,并且没有为数据定义属性shape。您可以在调用Data函数时尝试投射preprocess,例如:

preprocess(numpy.array(Data))