在 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
参数对另一个轴求和。
我有一个 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
参数对另一个轴求和。