如何用该行的单位向量划分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