繁体   English   中英

如何在numpy中获取n维数组的切片总和?

[英]How to get the sum of a slice of an n-dimensional array in numpy?

我在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)

我认为您过于复杂了:

>>> 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

沿第darr.take([i], axis=d).sum()i个切片的总和: arr.take([i], axis=d).sum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM