我有一個不同植物物種的數據集,並且我將每個物種分爲不同的np.array
。numpy.cov()例外:'float'對象沒有'shape'屬性
當試圖從這些物種中生成高斯模型時,我必須計算每個不同標籤的平均值和協方差矩陣。
問題是:在其中一個標籤中使用np.cov()
時,該函數引發錯誤「'float'對象沒有'shape'屬性,我無法確定問題來自何處。的我使用的準確代碼行如下:
covx = np.cov(label0, rowvar=False)
哪裏label0
是形狀(50,3),其中列表示不同的變量的numpy的ndarray和每行是一個不同的觀察。
確切的錯誤軌跡是:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-81-277aa1d02ff0> in <module>()
2
3 # Get the covariances
----> 4 np.cov(label0, rowvar=False)
C:\Users\Matheus\Anaconda3\lib\site-packages\numpy\lib\function_base.py in cov(m, y, rowvar, bias, ddof, fweights, aweights)
3062 w *= aweights
3063
-> 3064 avg, w_sum = average(X, axis=1, weights=w, returned=True)
3065 w_sum = w_sum[0]
3066
C:\Users\Matheus\Anaconda3\lib\site-packages\numpy\lib\function_base.py in average(a, axis, weights, returned)
1143
1144 if returned:
-> 1145 if scl.shape != avg.shape:
1146 scl = np.broadcast_to(scl, avg.shape).copy()
1147 return avg, scl
AttributeError: 'float' object has no attribute 'shape'
什麼錯誤的任何想法?如果數組的dtype=object
'label0'似乎是一個浮點數而不是數組。 –
根據['np.cov']的文檔(https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.cov.html),參數應該每行一行變量和每個觀察一列,而不是相反。 – jdehesa
你的NumPy版本是什麼? – MSeifert