如何在Python NumPy中规范化二维数组的一维?
比如说,我们想把一个二维向量的每一行进行归一化处理,让每一行的大小都变成1:
import numpy as np
a = np.arange(0,27,3).reshape(3,3)
result = a / norm_of_rows( a )
这样处理后:
np.sum( result**2, axis=-1 )
# array([ 1., 1., 1.])
原来的问题是,如何在Python中更简洁地归一化一个二维的numpy数组? 有些人觉得我的问题是重复的,其实作者问的是如何让每一行的元素加起来等于1。这和让每一行的大小等于1是不同的(后者是每个元素平方后加起来等于1)。
1 个回答
0
np.max(a[0,:])
这个代码会给你第一行的最大值,
np.max(a[1,:])
这个代码会给你第二行的最大值。
如果你想把整个矩阵进行归一化,只需要遍历每一行,然后把每个元素都除以对应行的最大值 max_row
。