我試圖計算一個ndarray的log10,但我得到以下錯誤:AttributeError:'float'對象沒有屬性'log10',通過做一些研究,我發現它與方法有關python處理數值,但我仍然無法得到爲什麼我得到這個錯誤。爲什麼這個數組沒有屬性'log10'?
>>> hx[0:5,:]
array([[0.0],
[0.0],
[0.0],
[0.0],
[0.0]], dtype=object)
>>> type(hx)
<class 'numpy.ndarray'>
>>> type(hx[0,0])
<class 'float'>
>>> test
array([[ 0.],
[ 0.],
[ 0.]])
>>> type(test)
<class 'numpy.ndarray'>
>>> type(test[0,0])
<class 'numpy.float64'>
>>> np.log10(test)
array([[-inf],
[-inf],
[-inf]])
>>> np.log10(hx[0:5,:])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'float' object has no attribute 'log10'
>>> np.log10(np.float64(0))
-inf
>>> np.log10([np.float64(0)])
array([-inf])
>>> np.log10([[np.float64(0)]])
array([[-inf]])
>>> np.log10(float(0))
-inf
>>> np.log10([[float(0)]])
array([[-inf]])
我認爲原因是,式(HX [0,0])是一個Python浮動類,但我能夠計算浮子類的日誌10爲好。我非常確定我應該投入某種價值,以便它可以作爲numpy.log10()的參數處理,但我無法發現它。
你是如何創建'hx'? –