您可以使用map https://docs.python.org/2/library/functions.html#map完成此操作:
import numpy as np
arra = np.arange(16).reshape(2, 2, 4)
然后命令:
map(sum, arra)
为您提供所需的输出:
[array([ 4, 6, 8, 10]), array([20, 22, 24, 26])]
或者,您也可以使用列表理解 https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions:
res = [sum(ai) for ai in arra]
Then res
看起来像这样:
[array([ 4, 6, 8, 10]), array([20, 22, 24, 26])]
EDIT:
如果您想添加相同的行 - 正如您在这个答案下面的评论中提到的 - 您可以这样做(使用zip https://docs.python.org/2/library/functions.html#zip):
map(sum, zip(*arra))
这会给你想要的输出:
[array([ 8, 10, 12, 14]), array([16, 18, 20, 22])]
为了完整起见,还列出了列表理解:
[sum(ai) for ai in zip(*arra)]
这会给你相同的输出。