例如,规范化二维向量中的每一行,使行的大小为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.])
原始问题How to normalize a 2-dimensional numpy array in python less verbose?,人们认为我的问题是重复的,作者实际上询问如何使每行的元素总和为1。这与标准化每一行不同,使其幅度为1(每个元素的平方和等于1)。
答案 0 :(得分:0)
np.max(a[0,:])
将为您提供第1行的最大值,
np.max(a[1,:])
将为您提供第二行的最大值
要标准化整个矩阵,只需循环遍历行,并将每个元素除以相应的max_row