2016-12-17 102 views
0

所以,我一直在写代码如下规范矩阵的元素,我使用的功能是: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' 

任何想法,我怎么能解决它? P.S.这是一个KNN分类代码

+0

也许尝试转换你的'Data'成'numpy.array'? –

+0

什么是数据? – hpaulj

回答

1

根据您发布的错误,Data是类型元组,并且没有为数据定义的属性shape定义。你可以尝试铸造Data当你打电话给你preprocess功能,例如:

preprocess(numpy.array(Data)) 
相关问题