我有一个像这样的数组:
array =[[1,2,3],
[5,3,4],
[6,7,2]]
对于每个成员,我想计算它们与行总和的比率。
因此,我提出的样本中的问题的结果是:
result = [[1/(1+2+3),2/(1+2+3),3/(1+2+3)],
[5/(5+3+4),3/(5+3+4),4/(5+3+4)],
[6/(6+7+2),7/(6+7+2),2/(6+7+2)]]
我编写以下代码但它不起作用,因为两个运算符具有不同的形状:
array/array.sum(array, axis=1)
答案 0 :(得分:2)
你可以在总和时指定keepdim=True
,然后你得到一个2d数组,而每行代表行总和:
array = np.array([[1,2,3],
[5,3,4],
[6,7,2.]])
array/array.sum(1, keepdims=True)
#array([[ 0.16666667, 0.33333333, 0.5 ],
# [ 0.41666667, 0.25 , 0.33333333],
# [ 0.4 , 0.46666667, 0.13333333]])