如何用該行的單位向量劃分numpy數組的每個行元素?將numpy矩陣的每個元素除以該行的單位向量
對於例如:
A = np.array([[ 0. , 1.],[ 2., 4.],[ 1., 5.]])
所以,需要輸出矩陣應該是:
[[ 0.0 , 1.][0.0, 0.0][0.19611614 , 0.98058068]]
我通過使用下面的片段而獲得的:
for row in A:
t=np.sqrt(np.sum(row**2))
row = row/t
但是,當我使用此代碼在我的非常大的矩陣上拋出錯誤: 「RuntimeWarning:invalid value enco沒有在true_divide「。但我沒有任何無效的值在我的numpy」A「數組中。我使用「argwhere」檢查進行檢查。它總是返回一個空列表。這個矩陣要麼有0個值,要麼有些值。我知道應該有一些更容易執行這個計算。請幫助。
你能告訴我爲什麼它給了我這個警告嗎? –
@NikitaGupta可能因爲你被'0'分隔。輸入數組的數據類型是什麼? – Divakar
@NikitaGupta我認爲它是因爲你有一個零值元素,'norm'值也是'0'。所以,對於那個'0/0'分區,它可能會拋出這個警告。 – Divakar