我不明白这段代码:
D=[[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]
print(np.sum(D, axis=(-2,-1)))
例如,如果能理解轴= -2的总和,那就意味着我们去了尺寸" -2"我们总结了这个维度中的所有元素。
在一般情况下,使用名为A
的D维数组,我将:
np.sum(A,axis=d)
将返回一个矩阵" B"尺寸D-1,例如
B [i1] ... [iD-1] =总和(A [i1] ... [id] ... [iD])
总结在id。
但是有一个轴的元组我不明白这意味着什么?我尝试了一些例子,但我不知道发生了什么。
你能帮帮我吗?
感谢。
答案 0 :(得分:1)
它意味着按照它们出现的顺序对元组中指定的所有轴进行求和:
>>> np.sum(D, axis=-2)
array([[ 5, 7, 9],
[17, 19, 21]])
>>> np.sum(_, axis=-1)
array([21, 57])
(-2, -1)
从最里面的第二个轴上求和,然后在最后一个轴上求和。
作为第二个例子,请(-3,-2,-1)
:
>>> np.sum(D, axis=(-3,-2,-1))
78
>>> # explicate summation on (-3,-2,-1)
>>> np.sum(D, axis=-3)
array([[ 8, 10, 12],
[14, 16, 18]])
>>> np.sum(_, axis=-2)
array([22, 26, 30])
>>> np.sum(_, axis=-1)
78