web-dev-qa-db-ja.com

Python Numpy TypeError:ufunc 'isfinite' is not supported for the input types

これが私のコードです:

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))

上記の最後の行のタイトルにエラーが表示されます。私はデータ型に何らかの関係があると思うので、Spyderの変数エクスプローラーからの変数とデータ型の画像を次に示します。

enter image description here

np.linalg.eig(np.mat(covMat))np.linalgに変更してみました。 eig(np.array(np.mat(covMat)))およびtonp.linalg.eig(np.array(covMat))、何も機能しません。何か案は? (例は素晴らしいでしょう!)

8
swabygw

配列のdtypeobjectですが、これは浮動小数点dtypeである必要があります。例:.

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

dtypeを変換する

11
jmd_dk