簡短的回答:你可能想使用float(np.dot(a,b.T))
。
你np.dot
生成3 × 3矩陣:
>>> np.dot(a.T,b)
array([[2, 2, 2],
[4, 4, 4],
[6, 6, 6]])
而且有一個矩陣轉換爲浮動(當然你也可以計算實例的決定沒有通用的固有方式,但這是a轉換)。
你可能想使用np.dot
其他各地的道:
>>> np.dot(a,b.T)
array([[12]])
現在是一個1 × 1矩陣。這裏簡單地將元素彈出矩陣當然是合理的。我們可以通過索引做到這一點:
>>> np.dot(a,b.T)[0,0]
12
>>> type(np.dot(a,b.T)[0,0])
<class 'numpy.int64'>
所以,現在我們獲得的單in64
元素。這還不是一個浮動,但現在我們可以使用float
構造的Python獲得浮動:
>>> float(np.dot(a,b.T)[0,0])
12.0
>>> type(float(np.dot(a,b.T)[0,0]))
<class 'float'>
現在最好的部分是,萬一矩陣只包含一個元素,numpy的使它更方便,並且您可以簡單地在矩陣上呼叫float(..)
。所以:
>>> float(np.dot(a,b.T))
12.0
如果你想使用np.float64
,這或多或少是一樣的:
>>> np.float64(np.dot(a,b.T))
12.0
>>> type(np.float64(np.dot(a,b.T)))
<class 'numpy.float64'>
但是'x'是3x3矩陣。你會如何將它轉換成浮動狀態? 'astype'轉換矩陣的*元素*。 –
如果我得到1x1'numpy.ndarray',我怎麼能將它轉換爲float64? – freefrog
請參閱下面的答案。 –