2016-11-25 4 views
2

여기 내 코드입니다 :파이썬 NumPy와 형식 오류는 'isFinite에'ufunc 입력 형식을 지원하지

def topK(dataMat,sensitivity): 
    meanVals = np.mean(dataMat, axis=0) 
    meanRemoved = dataMat - meanVals 
    covMat = np.cov(meanRemoved, rowvar=0) 
    eigVals,eigVects = np.linalg.eig(np.mat(covMat)) 

내가 위의 마지막 줄에 제목에 오류가 발생합니다. 여기 스파이더의 변수 탐색기에서 변수와 데이터 타입의 이미지와, 데이터 유형 함께 할 수있는 뭔가가 생각, 그래서 : 나는 np.linalg.eig (NP를 변경 시도했습니다

enter image description here

. (covMat))np.linalg.eig (np.arinal (covMat)), 아무것도 작동하지 않습니다. 어떤 아이디어? (좋은 예가 될 것입니다.)

+0

은'dtype' OG'covMat' 무엇입니까? –

+0

그림에서와 같이 "개체"(36 행, 36 열)를 보여줍니다. – swabygw

+1

아, 그건'dtype'입니다. 글쎄 그건 너의 문제일지도 모른다. 'np.array (covMat, dtype = float)'를 사용해보십시오. 그 전환은 당신에게 오류를 줄까요? –

답변

3

배열의 dtypeobject이지만, 부동 소수점 dtype이어야합니다. 예 :

covMat = np.array(covMat, dtype=float) 

는 변환 할 수있는 dtype