【发布时间】:2017-04-12 20:49:54
【问题描述】:
numpy数组的每一行元素如何除以该行的单位向量?
例如:
A = np.array([[ 0. , 1.],[ 2., 4.],[ 1., 5.]])
所以,需要的输出矩阵应该是:
[[ 0.0 , 1.][0.0, 0.0][0.19611614 , 0.98058068]]
我通过使用以下 sn-p 获得了这个:
for row in A:
t=np.sqrt(np.sum(row**2))
row = row/t
但是当我在非常大的矩阵上使用此代码时,它会抛出以下错误: “RuntimeWarning:在 true_divide 中遇到无效值”。但是我的 numpy“A”数组中没有任何无效值。我使用“argwhere”检查进行了检查。它总是返回一个空列表。这个矩阵要么有 0,要么有一些值。我知道应该有一些更容易执行这个计算。请帮助。
【问题讨论】:
标签: python-3.x numpy