如何在python numpy中规范化二维数组的一维?

时间:2014-05-10 20:51:46

标签: python arrays numpy normalize

例如,规范化二维向量中的每一行,使行的大小为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)。

1 个答案:

答案 0 :(得分:0)

np.max(a[0,:])将为您提供第1行的最大值, np.max(a[1,:])将为您提供第二行的最大值

要标准化整个矩阵,只需循环遍历行,并将每个元素除以相应的max_row