0

我在 NumPy 中有一个 n 维数组。我想计算一个切片中所有元素的总和。例如:

如果我有以下具有值的 2x2x2 3D 数组:

z = 1
1 2
3 4

z = 2
5 6
7 8

当我得到 z = 1 的切片时,我想得到 10,而 z = 2 我想得到 26。

我可以将以下内容用于 3D 空间,但如何为 n 维空间执行此操作?

(array.sum(axis = 0)).sum(axis = 0)
4

2 回答 2

3

我认为你过于复杂了:

>>> a=(np.arange(8)+1).reshape(2,2,2)
>>> a
array([[[1, 2],
        [3, 4]],

       [[5, 6],
        [7, 8]]])
>>> np.sum(a[0])
10
>>> np.sum(a[1])
26
>>> a[:,0]
array([[1, 2],
       [5, 6]])
>>> np.sum(a[:,0])
14
于 2012-12-04T23:58:50.520 回答
1

i沿第dth 维求和第th 切片:arr.take([i], axis=d).sum()

于 2012-12-04T23:30:50.203 回答