在 Python 中对 numpy 数组的元素求和

Summing elements of numpy array in Python

我有一个 numpy 数组

>>> clf_prob.dtype()

array([[ 0.05811791,  0.06526527,  0.06024136, ...,  0.06972481],
       [ 0.06093686,  0.06357167,  0.06462331, ...,  0.06999094],
       [ 0.08188396,  0.08504034,  0.0820972 , ...,  0.08487802],
       [ 0.05197106,  0.0786195 ,  0.15669477, ...,  0.0893244]])

我正在尝试添加这些数组的元素,这样我的输出将是:

[[0.05811791 + 0.06526527 + 0.06024136 +...+ 0.06972481],
[0.06093686 + 0.06357167 + 0.06462331 +...+0.06999094],
[0.08188396 + 0.08504034 + 0.0820972 + ...+  0.08487802],
[0.05197106 + 0.0786195  + 0.15669477+ ...+ 0.0893244]]

我试过

sum(map(sum, clf_prob))

这没有给我想要的输出。 有什么建议吗?

你可以做到

clf_prob.sum(axis=1)

这将在特定轴上求和,在本例中为行。

numpy.sum() 在您的预期轴 (1) 上应该可以完成您的工作

还有一种可能是用numpy的ufunc:
np.sum.reduce(clf_prob)
这将给出第一个轴上的总和。您还可以使用 axis 参数对另一个轴求和。