gpt4 book ai didi

沿 Axis 的 numpy 总和

转载 作者:行者123 更新时间:2023-12-04 13:43:23 25 4
gpt4 key购买 nike

是否有一个 numpy 函数可以沿(而不是)给定 Axis 对数组求和?沿着 Axis ,我的意思是相当于:

[x.sum() for x in arr.swapaxes(0,i)].

沿 Axis i 求和。

例如,numpy.sum 不能直接工作的情况:
>>> a = np.arange(12).reshape((3,2,2))
>>> a
array([[[ 0, 1],
[ 2, 3]],

[[ 4, 5],
[ 6, 7]],

[[ 8, 9],
[10, 11]]])
>>> [x.sum() for x in a] # sum along axis 0
[6, 22, 38]
>>> a.sum(axis=0)
array([[12, 15],
[18, 21]])
>>> a.sum(axis=1)
array([[ 2, 4],
[10, 12],
[18, 20]])
>>> a.sum(axis=2)
array([[ 1, 5],
[ 9, 13],
[17, 21]])

最佳答案

从 numpy 1.7.1 开始,这里有一个更简单的答案 - 您可以将元组传递给 sum 方法的“axis”参数以对多个轴求和。所以总结除了给定的所有:

x.sum(tuple(j for j in xrange(x.ndim) if j!=i))

关于沿 Axis 的 numpy 总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com