在 2d numpy 中求和行 [重复]
Posted
技术标签:
【中文标题】在 2d numpy 中求和行 [重复]【英文标题】:Sum rows in 2d numpy [duplicate] 【发布时间】:2021-02-20 05:31:32 【问题描述】:假设给定以下 2d numpy:
myNP = np.array([[5., 2., 1.],
[3., 3., 3.],
[3., 3., 3.]])
必须找到每一行中每个点相对于行总和的权重。
参考上面的例子,预期的结果需要是:
([[0.625, 0.25 , 0.125],
[0.333, 0.333, 0.333],
[0.333, 0.333, 0.333]])
【问题讨论】:
确实提供了解决方案myNP/myNP.sum(axis=1).reshape(-1,1)
【参考方案1】:
试试这个:
myNP_weight = (myNP/myNP.sum(axis=1).reshape(-1,1)).round(3)
或者
myNP_weight = (myNP/myNP.sum(axis=1)[:, None]).round(3)
输出:
>>> print(myNP_weight)
array([[0.625, 0.25 , 0.125],
[0.333, 0.333, 0.333],
[0.333, 0.333, 0.333]])
【讨论】:
添加了答案。让我知道它对你有用。【参考方案2】:sum 函数完全符合您的需要。您只需要指定轴。在您的情况下,myNP.sum(axis=1)
应该可以解决问题
【讨论】:
以上是关于在 2d numpy 中求和行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章